我只想尝试在R号中舍入,如:
> 1.327076e-09
应该导致
> 1.32e-09
哪个功能可以使用?
答案 0 :(得分:16)
尝试signif
。
> signif(1.326135235e-09, digits = 3)
[1] 1.33e-09
答案 1 :(得分:7)
使用signif
:
x <- 1.327076e-09
signif(x,3)
[1] 1.33e-09
或sprintf
:
sprintf("%.2e",x)
[1] "1.33e-09"
答案 2 :(得分:2)
函数round
将进行舍入,您可以指定小数位数:
x <- 1.327076e-09
round(x, 11)
[1] 1.33e-09
升级到@Joris和@GavinSimpson设定的挑战 - 在此问题上使用trunc
,请执行以下操作:
library(plyr)
round_any(x, 1e-11, floor)
[1] 1.32e-09