我想将一个数字转换为指定数量的有效数字,例如一些从 FUN(1.01)
返回 "1.0"
(作为字符)的函数。 (我需要一个字符,因为该值将在 xtable
中使用。
我怀疑这是微不足道的,但我遇到了麻烦。
这是我尝试过的:
> signif(1.01, 2)
[1] 1
> round(1.01, 2)
[1] 1.01
> format(1.01, digits = 2)
[1] "1"
> as.character(trunc(1.20, 3))
[1] "1"
> as.character(round(1.01, digits = 2))
[1] "1"
是否有一个函数可以做到这一点?
最佳答案
试试?sprintf
:
> sprintf("%0.1f", 1.01)
[1] "1.0"
还有 format
和 formatC
,您可能会发现它们对用户更友好:
> format(1.01,digits=1,nsmall=1)
[1] "1.0"
> formatC(1.01,digits=1,format="f")
[1] "1.0"
关于string - R: 从 FUN(1.01) 返回 "1.0"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11567802/