Java : 如何得到正确的结果?

Java : how to get correct result?

在java中:

double b = 1234 / (1234+1500);

结果是:

0.0

为什么?

如何得到正确的结果?

只需使操作数之一double/float -

double b = (double) 1234.0/(1235+1500);

此处不需要转换。

规则benind:如果其中一个操作数是double/float(这里是1234.0)另一个被提升为double /float

你得到 0.0 因为 java 将是整数除法。要获得正确的结果,您必须至少将运算符转换为 double.

double b = ((double)1234) / (1234+1500)
double b = 1234D / (1234D + 1500D)