详细的解答,等待楼下给出,
以前没有注意过这个细节,刚才特意翻翻了《Effictive Java》,
没有找到答案,只是在第十九条中看到这样一段话,供各位参考:
float 和 double 类型的主要设计目标是为了科学计算和工程计算。他们执行的是二进制浮点运算,这是为了在广域数值范围提供较为精确的快速近似计算而专心设计的。然而,它们没有提供完全精确的结果,所以不应该被用于要求精确结果的场合。
以前没有注意过这个细节,刚才特意翻翻了《Effictive Java》,
没有找到答案,只是在第十九条中看到这样一段话,供各位参考:
float 和 double 类型的主要设计目标是为了科学计算和工程计算。他们执行的是二进制浮点运算,这是为了在广域数值范围提供较为精确的快速近似计算而专心设计的。然而,它们没有提供完全精确的结果,所以不应该被用于要求精确结果的场合。
那个9是四舍五入得来的
如果要使输出的小数点位数保留几位待用
Format 格式化
四舍五入为什么不是
b=1.23456789E8
b=1.23456789E8 因为你把double转化为float后是窄型转化,数据有丢失。