【发布时间】:2011-03-09 20:18:39
【问题描述】:
对于这个代码块:
int num = 5;
int denom = 7;
double d = num / denom;
d 的值为0.0。可以通过强制转换强制工作:
double d = ((double) num) / denom;
但是还有其他方法可以得到正确的double 结果吗?我不喜欢转换原语,谁知道会发生什么。
【问题讨论】:
-
将 'int' 转换为 double 是安全的,您将始终获得相同的值而不会损失精度。
-
我想知道以下是否是编译器为除法所采取的正确步骤:1)将 num 转换为 float 2)将 denom 也转换为 float 2)将 num 除以 denom。如果我不正确,请告诉我。
标签: java casting integer-division