在java中,类型转换将int转换为double,然后再转换回int
快速提问
这永远是真的吗
int i = ...;
double d = i;
if (i == (int) d) ...
或者我需要四舍五入才能确定
if (i == Math.round(d)) ...
你可以在下面搜索框中键入要查询的问题!
快速提问
这永远是真的吗
int i = ...;
double d = i;
if (i == (int) d) ...
或者我需要四舍五入才能确定
if (i == Math.round(d)) ...
# 1 楼答案
是的,所有可能的
int
值都可以安全地往返到double
您可以使用以下代码进行验证:
请注意,我没有使用正常的
for
循环,因为它要么跳过Integer.MAX_VALUE
要么无限期地循环请注意,对于
int
/float
或long
/double
来说,这是不正确的