作业帮 > 综合 > 作业

java中两个float数相除,应该是整数却成了小数

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/05/25 09:21:38
java中两个float数相除,应该是整数却成了小数
比如float c = 1.8;
float d = 0.3;
c / d 得到的是5.9999995,如何避免这种情况的发生得到6?
相除的结果系统认定是双精度的,而且是按照计算机的二进制.所以会出现你这样的结果.
如果你强制转换结果,那么当1.9/0.3的时候就出错了.所以最好的是保留一位小数来解决(与除数和被除数的格式保持一致):
保留一位
Math.round(c/d*10))/10;
保留两位
Math.round(c/d*100))/100;
再问: 我是1.8除以0.3,得到的应该是6,不是1.9除以0.3,、、、、、、、再帮忙看看吧
再答: 我这个是通用的,1.8、0.3,一样是可以的,得到结果就是6.0 如果你非要结果是6,那强制转换一下就行了 或者Math.round(c/d);上面的多了括号,自己修改一下就行了