我开始认为我的大脑在玩弄一个残酷的玩笑,为什么15/6会回归2.0 ?
您可以在此处测试http://ideone.com/xUaYEF。
double average = 15/6;
System.out.println("value: "+average);
每次输出都是
value: 2.0
最后我用计算器检查了谷歌 15/6是2.5 。
答案 0 :(得分:4)
double average = 15/6.0;
int by int将返回一个int。这就是为什么你得到2.然后,当你宣布它为双精度时,它会在最后添加.0。
如果你将双倍除以双倍(15 / 6.0,15.0 / 6或15.0 / 6.0),它将以双倍的形式出现。