2016笔记——银行家算法
2018-07-27 本文已影响8人
满庭花醉三千客
之前在写红包算法时,涉及到四舍五入的浮点型数据处理,我在网上看到这样一个算法:
![](https://img.haomeiwen.com/i711728/e5d1b3e4c3242016.png)
这个方法里的第一个参数是一个枚举类型:
![](https://img.haomeiwen.com/i711728/189eb10a7622ab10.png)
共有四种:
NSRoundPlain:四舍五入算法
NSRoundDown:始终向下取整,1.29 取一位小数点,是1.2
NSRoundUp:始终向上取整,1.21取一位小数点,为1.3
NSRoundBankers:银行家算法,这个有意思了,我上网查了一下,基本口诀是“四舍六入五取偶(奇数则入,偶数则不变)”
银行家算法和四舍五入的比较:
![](https://img.haomeiwen.com/i711728/f46a90767d441111.png)
加油~