我尝试使用sprintf
功能填充带有前导空格的十进制数字。
例如,我想转换以下向量:
a <- c(1, 1.123, -1.123, 123)
[1] 1.000 1.123 -1.123 123.000
to(padding = 4):
[1] " 1.00" " 1.12" " -1.12" " 123.00"
我尝试使用sprintf("% 4.2f", a)
,但会产生以下结果:
[1] " 1.00" " 1.12" "-1.12" " 123.00"
修改
我知道它适用于整数,即sprintf("%4d", 123)
会生成" 123"
,但我无法使用浮点数。
答案 0 :(得分:3)
使用%7.2f
。总共7个字符,小数点右边2个。
sprintf("%7.2f", a)
# [1] " 1.00" " 1.12" " -1.12" " 123.00"
感谢@Jota的提示,我们删除了7.2f
之前的空格。