1、数据过大,超过亿数量级后讨厌的double会用科学计数法来表示。在处理数据时若将其转化成字符串型数据则存在极大风险,有可能得到的是一串1.x E 10之类的科学计数法字符串。
2、5000.11 + 5000.11 + 5000.11 不等于 15000.33 而是 15000.329999999998。尤其在做金额比较时很讨厌,采用BigDecimal("5000.11")相加然后转成double才能达到预期的效果。
本文探讨了处理大数据时面临的数据过大导致的科学计数法表示问题及金额计算误差,提出使用BigDecimal进行精确计算的方法。重点强调了在金额比较中采用BigDecimal的重要性,避免了常见的精度损失问题。
1、数据过大,超过亿数量级后讨厌的double会用科学计数法来表示。在处理数据时若将其转化成字符串型数据则存在极大风险,有可能得到的是一串1.x E 10之类的科学计数法字符串。
2、5000.11 + 5000.11 + 5000.11 不等于 15000.33 而是 15000.329999999998。尤其在做金额比较时很讨厌,采用BigDecimal("5000.11")相加然后转成double才能达到预期的效果。

被折叠的 条评论
为什么被折叠?