将数字四舍五入到最接近的零

时间:2021-04-18 11:56:03

标签: r

我有两种数字模式:

x1 = 0.0003577
x2 = 0.2365483

我怎样才能将它们四舍五入:

x1 = 0.00035
x2 = 0.23

那么逗号后的最后一个零后面只有两个或一个数字?

2 个答案:

答案 0 :(得分:5)

您可以在 signif 包中使用 base。该函数将其第一个参数中的值四舍五入为指定的有效数字位数。

x1 = 0.0003577
x2 = 0.2365483

#where 2 is the number of significant digit
signif(x1,2)
[1] 0.00036
signif(x2,2)  
[1] 0.24

答案 1 :(得分:1)

您可以定义一个用户函数 f,如下所示

f <- function(x) {
  p <- 10^(-ceiling(log10(x)) + 2)
  trunc(x * p) / p
}

你会得到

> f(x1)
[1] 0.00035

> f(x2)
[1] 0.23