修约(舍入)方法

有很多方法去修约数字……

首先,什么是 "修约"?

修约的意思是简化一个数,但保留数值接近原来的值。结果不太准确,但比较容易使用。

例子:7.3 修约到 7

因为 7.3 离 7 比离 8 近

(注意:在这里我们修约到整数,但你也可以修约到十位、十分位等等)

注意:修约也通常被叫做 "舍入"。所以 "把 7.7 修约为 8" 也可以说成"把 7.7 舍入为 8"

但是,7.5 呢?它是离 7 近还是离 8 近?它刚好在中间,那怎么办?

四舍五入(常见的方法)

最常见的舍入方法是把 0.5 向舍入,就是把剩下的数位加"入"要保留的最后数位。所以 7.5 上舍入为 8(见数值修约)。

7.5 通常上舍入为 8

但这不是个法律,这只是个大家认同的惯例:

五舍六入

5 也可以向下舍入,就是把剩下的数位"舍"去。这样 7.5 就下舍入为 7:

但我们一定要声明是在用 "五舍六入"。

但为什么要把 0.5 向下舍入?可能数据里有很多 0.5,所以我们想看看下舍入的效果。

自己玩玩 …… 去修约工具尝试用不同的修约方法。

负数

-7.5 呢?

太混乱了!

其实目前世上还没有修约负数的共识 …… 有些电脑程式把 -7.5 舍入为 -8,其他的则舍入为 -7

但在这里我们可以同意"上"的意思是向正的方向,像这样:

五向上舍入(包括负数)

结果是这样:

五向下舍入(包括负数)

0.5 向下舍入的结果是:

 

"对称"修约

但你可能觉得:"7.5 上舍入到 8,所以 -7.5 应该修约到 -8",这就对称了。

这就是向着零修约或离开零修约

五离开零舍入

在这个方法里,0.5 修约到离开零比较远的数

五向着零舍入

我们也可以把 0.5 修约到离开零比较近的数:

有时行动一致是不好的

有时只选择用一个修约方法可能是不好的!

例如,如果数据有很多 0.5,像 5.5、7.5、6.5、9.5 等等。如果所有的修约都是向同一方向,便会导致偏差

怎样避免所有的修约都向同一个方向?

我们可以向偶数(或奇数)修约,或者随机选择修约的方向。

修约为偶数

把 0.5 修约到最近的数字

例子:

7.5 舍入到 8(因为 8 是偶数)

但 6.5 舍入到 6

其他的数(末端不是 0.5)照常舍入到最近的数:

修约为奇数

像"修约为偶数",不过 0.5 修约到最近的奇数字

例子:

7.5 下舍入为 7(因为 7 是奇数)

但 6.5 舍入为 7 (因为 7 是奇数)

我们也可以把 0.5 随机上舍入或下舍入。但是,应该怎样做呢?抛硬币?用电脑?

如果有很多数字,结果是不错的。但是,每次修约同一组数字的结果都会不一样(除非我们用相同的随机选择)。

向下取整与向上取整

还有两个方法。这两个方法不考虑数的末端是不是 0.5。这就是向下取整与向上取整。(也称为向下舍入与向上舍入)。

向下(上)取整的结果是向下(上)最近的整数

例子:2.31 向下取整和向上取整的结果是多少?

向下取整与向上取整函数

2.31 向下取整是 2
2.31 向上取整是 3

向下取整

使用"向下取整"时,所有数位都向下舍入,不管剩下的数位是什么:

例子:7.8 下舍入为 7

7.2、7.5、7.9 等等也一样

7 也下舍入为 7。

向上取整

"向上取整"则是上舍入:

例子:7.1 上舍入为 8

7.2、7.5、7.8 等等也一样

7 还是 7

 

总结


向上

向下

离开 0

向着 0

偶数

奇数
向下取整 向上下取整
 8 8 8 8 8 8 8 8 8
 7.6 8 8 8 8 8 8 7 8
 7.5 8 7 8 7 8 7 7 8
 7.4 7 7 7 7 7 7 7 8
 7 7 7 7 7 7 7 7 7
-7 -7 -7 -7 -7 -7 -7 -7 -7
-7.4 -7 -7 -7 -7 -7 -7 -8 -7
-7.5 -7 -8 -8 -7 -8 -7 -8 -7
-7.6 -8 -8 -8 -8 -8 -8 -8 -7
-8 -8 -8 -8 -8 -8 -8 -8 -8

 

修约到十位、十分位等等……

在上面的例子里,我们修约到整数,但我们也可以修约到十位、十分位等等:

例子:"五向上舍入"到十位:

15 上舍入为 20

14.97 下舍入为 10

例子:"五向上舍入"到百分位:

0.5168 上舍入为 0.52

1.41119 下舍入为 1.41