处理金钱的时候,对于浮点的舍入误差你们是怎么处理的呢?
資深大佬 : dangyuluo 55
前情提要:
浮点运算结果不准确算不算是 bug ?任何人都不想得到不准确的结果吧 https://v2ex.com/t/637166#reply54
假设有 10 块钱需要给三个人平均分配,精确到分。如果纯粹是四舍五入的话,每个人都会得到 3.33 元。这时候剩下的 1 分钱应该怎么处理呢?
我不是做这行的,单纯只是好奇。
大佬有話說 (39)
前情提要:
浮点运算结果不准确算不算是 bug ?任何人都不想得到不准确的结果吧 https://v2ex.com/t/637166#reply54
假设有 10 块钱需要给三个人平均分配,精确到分。如果纯粹是四舍五入的话,每个人都会得到 3.33 元。这时候剩下的 1 分钱应该怎么处理呢?
我不是做这行的,单纯只是好奇。
记得有个方案是,把金额按 1000 倍存的。你的 3.33 元,在数据库是 3330
这也是大多数电商、支付平台分期的算法。
电脑只是工具……不如上街问问那些“智能机器人”这个问题,看看是什么答案,会不会不同机器人有不同的答案
如果有哪里说的不对,希望有人能帮忙指正一下
PHP 有 https://github.com/moneyphp/money 库
舍入:银行家算法 (四舍六入五成双)