前言
在java中,要保证小数运算精度不丢失我们得用BigDecimal对象。这篇文章就分析一下为什么用浮点数会造成精度丢失?BigDecimal是怎么解决精度丢失问题的?下面我们一起看看吧!
浮点数的表示
浮点数是如何在计算机里存储的?它不是简单地直接存储我们看到的小数,而是采用了一种叫IEEE 754标准的方式。 这个标准把数拆成三个部分:符号位(正负号)、指数部分(数字的规模)、尾数部分(具体数值)。问题的关键就在于——* 尾数的位数是有限的*,也就是说,有些小数(特别是十进制转二进制时)根本无法精确表示。
大约 4 分钟