给定一个数字向量,我想将其转换为给定最大可用字符的字符向量。
x = c(2, 0.002, 0.2)
x
# [1] 2.000 0.002 0.200
例如,打印方法的工作原理与我想要的格式一样。如果空间不足或相反,则表现如下:
myFormat(x, width = 4)
# "2.00" "0.00" "0.20"
myFormat(c(2, 0, 0.2), width = 4)
# " 2.0" " 0.0" "0.2"
使用prettyNum
,formatC
或其他方式有一种简单的方法吗?
答案 0 :(得分:0)
您可以尝试sprintf
。它使用的格式类似于c sprintf
,例如来自?sprintf
:
'm.n'两个以句点分隔的数字,表示字段宽度 ('m')和精度('n')。
sprintf("%4.1f", x)
# [1] " 2.0" " 0.0" " 0.2"
sprintf("%5.2f", x)
# [1] " 2.00" " 0.00" " 0.20"