格式化数字向量:对齐小数点

时间:2014-03-12 10:32:57

标签: r vector formatting

给定一个数字向量,我想将其转换为给定最大可用字符的字符向量。

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"

使用prettyNumformatC或其他方式有一种简单的方法吗?

1 个答案:

答案 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"