2.4 对数值取整

2.4 对数值取整

2.4.1 问题

你想要对数值取整。

2.4.2 方案

存在许多种取整的方式:向最近的整数取整,向上或向下取整或者向 0 取整。

x <- seq(-2.5, 2.5, by = 0.5)

## 向最近的整数取整, 含有 .5 的值取整到最近一个偶数。
round(x)
#>  [1] -2 -2 -2 -1  0  0  0  1  2  2  2

## 向上取整
ceiling(x)
#>  [1] -2 -2 -1 -1  0  0  1  1  2  2  3

## 向下取整
floor(x)
#>  [1] -3 -2 -2 -1 -1  0  0  1  1  2  2

## 向 0 取整
trunc(x)
#>  [1] -2 -2 -1 -1  0  0  0  1  1  2  2

也可以近似到其它小数位:

x <- c(0.001, 0.07, 1.2, 44.02, 738, 9927)

## 1 位小数近似
round(x, digits = 1)
#> [1]    0.0    0.1    1.2   44.0  738.0 9927.0

## 10 位取整
round(x, digits = -1)
#> [1]    0    0    0   40  740 9930

## 向最近的 5 的倍数近似
round(x/5) * 5
#> [1]    0    0    0   45  740 9925

## 向最近的 .02 的倍数近似
round(x/0.02) * 0.02
#> [1]    0.00    0.08    1.20   44.02  738.00 9927.00