日期:2014-05-20  浏览次数:20768 次

初学者提问
我用2.2F   +1.5,编译出来得到的结果怎么有好多小数位数

------解决方案--------------------
2.2F是单精度,1.5是双精度浮点型.发生类型转换.2.2F转换为双精度浮点型产生多余的小数
------解决方案--------------------
java的这种浮点数计算使用二进制系统表示的,像1/10没有精确的表示,像十进制的1/3一样。
为了不产生误差,可以用java.math.bigdecimal类.

------解决方案--------------------
float
------解决方案--------------------
对啊 用2.2f+1.5f不就得了