-
我用 BigDecimal 的 equals 判断两个金额是否相等,2.0 和 2.00 明明都是两块钱,它却告诉我不相等:一次 BigDecimal.equals 把小数位也算进相等的深度复盘
我用 BigDecimal 表示金额(为了精确不用 float,这是对的),某处用 equals 判断两个金额是否相等。可线上偶发:两个数值上明明相等的金额(一个 2.0、一个 2.00,都是两块钱)equals 却返回 false,导致金额一致才放行的逻辑卡住。查清 BigDecimal.equals 才明白:它不只比数值,还比 scale(小数位数)——BigDecimal 内部用无标度值+s…- 0
- 0
scale
幸运之星正在降临...
点击领取今天的签到奖励!
恭喜!您今天获得了{{mission.data.mission.credit}}积分
我的优惠劵
-
¥优惠劵使用时效:无法使用使用时效:
之前
使用时效:永久有效优惠劵ID:×
没有优惠劵可用!

