版权声明:本文为博主原创文章,转载请附带原链接地址 。 https://blog.csdn.net/weixin_43652442/article/details/84995735
在java开发中经常涉及金额处理,但对于浮点数的运算时容易出现不准确的情况
一个简单的例子
System.out.println(10.00-9.60);
执行结果为
针对金额运算或者小数运算可能出现的问题的解决方案
- 使用BigDecimal
BigDecimal能很好的处理浮点数计算无法精确计算的问题,并且本身提供了加减乘除的常用数学算法 - 使用整型
把数额扩大100倍变为整型,这个方法有一定的局限,且金额最大只能到两千万(Integer最大值为2147483647,从分算起只能到千万元),适用性没有BigDecimal好