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)
在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)