读书人

菜鸟提问

发布时间: 2012-01-10 21:26:50 作者: rapoo

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

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

[解决办法]
float
[解决办法]
对啊 用2.2f+1.5f不就得了

读书人网 >J2SE开发

热点推荐