我有一个奇怪的问题。
这段代码只是将一个 int 除以另一个 int,将结果存储在一个 double 变量中并打印出来:
int a = 200;
int b = 557;
double divisionResult = a / b;
System.out.println("Result: " + divisionResult);
执行此代码后,输出为:
Result: 0
这很奇怪,因为200/557
是0.3590664272890485
我注意到如果我在分区线中投射a
和b
double
double divisionResult = (double) a / (double) b;
它完美地工作。
为什么我必须将变量加倍才能得到真正的除法结果?