java解决数据精度问题

System.out.println(12.0f-11.9f); 输出结果为:0.10000038java 为何会出现这种状况呢?编码 那是由于在将十进制浮点数转换为二进制浮点数时,小数的二进制有时也是不可能精确的,就如同十进制不能准确表示1/3,二进制也没法准确表示1/10,而double类型存储尾数部分最多只能存储52位,因而,计算机在存储该浮点型数据时,便出现了精度丢失(1)。例如,11.9
相关文章
相关标签/搜索