Java-整数除法:如何产生双精度?

对于此代码块:

int num = 5;

int denom = 7;

double d = num / denom;

的值d就是0.0。它可以通过强制转换来工作:

double d = ((double) num) / denom;

但是还有另一种方法来获得正确的double结果吗?我不喜欢强制转换原语,谁知道会发生什么。

回答:

double num = 5;

这样可以避免强制转换。但是你会发现强制转换的定义很明确。你不必猜测,只需检查JLS即可。从int到double是一个不断扩大的转换。从第5.1.2节开始:

以上是 Java-整数除法:如何产生双精度? 的全部内容, 来源链接: utcz.com/qa/413713.html

回到顶部