比如 0.1*3==0.3这个打印出来的 结果是false
原因就是计算机中对于数的计算是利用二进制进行存储数据
就像十进制中的三分之一一样,二进制的十分之一小数点后面都是死循环
,在计算机中是无法明确表示的,这样就导致了精度的丢失
但是我们在银行业务里面不能允许任何精度的丢失,这个时候就涉及到了BigDecimal这个类,这里可以参考这个文章进行了解https://blog.csdn.net/tr1912/article/details/79690099
比如 0.1*3==0.3这个打印出来的 结果是false
原因就是计算机中对于数的计算是利用二进制进行存储数据
就像十进制中的三分之一一样,二进制的十分之一小数点后面都是死循环
,在计算机中是无法明确表示的,这样就导致了精度的丢失
但是我们在银行业务里面不能允许任何精度的丢失,这个时候就涉及到了BigDecimal这个类,这里可以参考这个文章进行了解https://blog.csdn.net/tr1912/article/details/79690099