修约(舍入)方法
有很多方法去修约数字……
首先,什么是 "修约"?
修约的意思是简化一个数,但保留数值接近原来的值。结果不太准确,但比较容易使用。
注意:修约也通常被叫做 "舍入"。所以 "把 7.7 修约为 8" 也可以说成"把 7.7 舍入为 8"
但是,7.5 呢?它是离 7 近还是离 8 近?它刚好在中间,那怎么办?
四舍五入(常见的方法)
最常见的舍入方法是把 0.5 向上舍入,就是把剩下的数位加"入"要保留的最后数位。所以 7.5 上舍入为 8(见数值修约)。
7.5 通常上舍入为 8
但这不是个法律,这只是个大家认同的惯例:
- 7.6 上舍入为 8
- 7.5 上舍入为 8
- 7.4 下舍入为 7
五舍六入
但 5 也可以向下舍入,就是把剩下的数位"舍"去。这样 7.5 就下舍入为 7:
- 7.6 上舍入为 8
- 7.5 下舍入为 7
- 7.4 下舍入为 7
但我们一定要声明是在用 "五舍六入"。
但为什么要把 0.5 向下舍入?可能数据里有很多 0.5,所以我们想看看下舍入的效果。
自己玩玩 …… 去修约工具尝试用不同的修约方法。
负数
但 -7.5 呢?
- 它舍入为 -8(这是 "上"舍入还是 "下" 舍入?),
- 还是舍入为 -7
太混乱了!
其实目前世上还没有修约负数的共识 …… 有些电脑程式把 -7.5 舍入为 -8,其他的则舍入为 -7
但在这里我们可以同意"上"的意思是向正的方向,像这样:
五向上舍入(包括负数)
结果是这样:
- 7.6 上舍入为 8
- 7.5 上舍入为 8
- 7.4 下舍入为 7
- -7.4 上舍入为 -7
- -7.5 上舍入为 -7
- -7.6 下舍入为 -8
五向下舍入(包括负数)
0.5 向下舍入的结果是:
- 7.6 上舍入为 8
- 7.5 下舍入为 7
- 7.4 下舍入为 7
- -7.4 上舍入为 -7
- -7.5 下舍入为 -8
- -7.6 下舍入为 -8
"对称"修约
但你可能觉得:"7.5 上舍入到 8,所以 -7.5 应该修约到 -8",这就对称了。
这就是向着零修约或离开零修约:
五离开零舍入
在这个方法里,0.5 修约到离开零比较远的数:
- 7.6 修约为 8
- 7.5 修约为 8
- 7.4 修约为 7
- -7.4 修约为 -7
- -7.5 修约为 -8
- -7.6 修约为 -8
五向着零舍入
我们也可以把 0.5 修约到离开零比较近的数:
- 7.6 修约为 8
- 7.5 修约为 7
- 7.4 修约为 7
- -7.4 修约为 -7
- -7.5 修约为 -7
- -7.6 修约为 -8
有时行动一致是不好的
有时只选择用一个修约方法可能是不好的!
例如,如果数据有很多 0.5,像 5.5、7.5、6.5、9.5 等等。如果所有的修约都是向同一方向,便会导致偏差。
怎样避免所有的修约都向同一个方向?
我们可以向偶数(或奇数)修约,或者随机选择修约的方向。
修约为偶数
把 0.5 修约到最近的偶数字
例子:
7.5 上舍入到 8(因为 8 是偶数)
但 6.5 下舍入到 6
其他的数(末端不是 0.5)照常舍入到最近的数:
- 7.6 上舍入为 8
- 7.5 上舍入为 8(因为 8 是偶数)
- 7.4 下舍入为 7
- 6.6 上舍入为 7
- 6.5 下舍入为 6 (因为 6 是偶数)
- 6.4 下舍入为 6
- 依此类推
修约为奇数
像"修约为偶数",不过 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