R 如何制作;“非常圆”吗;?

R 如何制作;“非常圆”吗;?,r,rounding,R,Rounding,我需要像这样进行舍入并将其转换为字符: as.character(round(5.9999,2)) 我希望它变成6.00,但它只给了我6 我是否可以让它显示6.00?试试以下任一选项: > sprintf("%3.2f", round(5.9999, digits=2)) [1] "6.00 > sprintf("%3.2f", 5.999) # no round needed either [1] "6.00 还有formatC()和prettyNum()来帮助解释发生了什么

我需要像这样进行舍入并将其转换为字符:

as.character(round(5.9999,2))
我希望它变成
6.00
,但它只给了我
6


我是否可以让它显示
6.00

试试以下任一选项:

> sprintf("%3.2f", round(5.9999, digits=2))
[1] "6.00
> sprintf("%3.2f", 5.999)  # no round needed either
[1] "6.00

还有
formatC()
prettyNum()

来帮助解释发生了什么-
舍入(5.9999,2)
调用将您的数字舍入到最接近的百分之一位,这使您的数字(而不是字符串)非常接近(或者完全等于,如果您有幸使用浮点表示法的话)6.00。然后
as.character()
查看该数字,最多占用其15个有效位(请参见
?as.character
),以充分准确地表示该数字,并确定只需要1个有效位。这就是你得到的。

正如德克指出的,formatC()是另一个选项

formatC(x=5.999,数字=2,格式=f)