近日,在处理金额计算的时候,出现了异常的精度问题;根于以往的经验,金额计算使用的类就是BigDecimal,为了避免精度问题,但是此次竟然还是出现了一些计算结果的偏差。
后面经过查询资料进行分析得知,是初始化BigDecimal的时候出现了问题
经代码测试,第一种的num1和num2是不会相同的,原因就是,数字类型有精度问题,而字符串则没有;2和3结果一致,说明整数不存在这种问题。
以后在金融系统,对账结算系统里面,使用数字进行比较计算的时候,小数数字一定要转换成字符串再进行BigDecimal的换算才不会出问题。