Han*_*h P 6 java math fractions
我应该Math.round(1/2)在Java中声明为int还是double?如果两者都很好,哪个更正确?
另外,为什么Eclipse告诉我Math.round(1/2)= 0.0,而Math.round(0.5)= 1.0?
任何帮助,将不胜感激!
小智 14
编译器首先计算表达式1/2.这两个数字都是整数,所以它做整数数学.在整数中,1除以2是0.然后,它将0转换为double,以便将其传递给Math.round().
如果你想要一个正确的答案,你需要传递双打:你可以通过使用1.0/2.0而不是1/2来做到这一点.