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)