之前做项目的时候需要记录金额的大小,也需要进行金额的计算。金额大小精确到分,金额的计算最好以整型的形式计算,展示时候才将金额转换为大家熟悉的元。
一开始犯了个错误,在金额运算前先将金额转化为元,并以double类型存储,这样的做法很大程度会出现一些你意料不到的计算结果,其原因是浮点类型在计算机中是以二进制位表示的,而不是我们所熟悉的十进制,所以说浮点型数值只是十进制数的一个近似值。这样就导致在金额累加的时候很容易计算出一个不精确的结果。如果真的需要用到小数运算,请一定要用BigDecimal这个十进制的小数表示类型。