qq_慕函数0551540
2018-12-14 12:44
为什么40/9是等于44
double是双精度数据,想要验证结果应该用
int a = 40;
int b = 9;
int c = a / b;
System.out.println(c);
而且使用float又会得到不一样的输出,还有一个特别需要注意的取整错误:
System.out.println(1.0 - 0.1 - 0.1 - 0.1);结果显示为0.7000000000000001而不是0.7
但书本上给的解释我理解不太了。。。只能尽量避免浮点数之间的精准计算
都是double类,40/9结果是4.4444444444445
涉及计算机的数字表示了。可以看看原码、补码、反码,以及计算机中小数的表示。
啥子哟
Java入门第一季(IDEA工具)升级版
1165560 学习 · 17587 问题
相似问题