避免 Math.ceil(1.1 * 100) == 111 的最佳实践是什么?用户支付金额不对不能入账,排查了半天才发现 JS 这个逆天设计,好像别的语言也有这样的

查看 35|回复 3
作者:drymonfidelia   
基础没学好,回去重修。
---
解决方法就是钱永远别用小数。
rrfeng   
第一反应精度丢失问题,转念想怎么会差这么多, 仔细一看,ceil ,你确定这不是设计如此有人贪这差值吗,
AoEiuV020JP   
计算金融不要用二进制浮点数,二进制浮点数的设计就没法精确表示十进制有理数。用十进制浮点数或者定点数,因为金融业务很少用到分以下,用定点数的比较多。十进制浮点数的支持状态也不太好。
Coelacanthus   
biginit
您需要登录后才可以回帖 登录 | 立即注册

返回顶部