gpt4 book ai didi

java - 在 java 中将 int 转换为 double 然后返回 int

转载 作者:搜寻专家 更新时间:2023-10-31 19:41:31 25 4
gpt4 key购买 nike

快速提问。

这总是正确的吗?

int i = ...;
double d = i;
if (i == (int) d) ...

或者我需要进行四舍五入才能确定?

if (i == Math.round(d)) ...

最佳答案

是的,所有可能的 int 值都可以安全地往返于 double

您可以使用以下代码验证它:

    for (int i = Integer.MIN_VALUE; ; i++) {
double d = i;
if (i != (int) d) {
throw new IllegalStateException("i can't be converted to double and back: " + i);
}
if (i == Integer.MAX_VALUE) {
break;
}
}

请注意,我没有使用普通的 for 循环,因为它会跳过 Integer.MAX_VALUE 或无限循环。

请注意,对于 int/floatlong/double,这同样正确!

关于java - 在 java 中将 int 转换为 double 然后返回 int,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6341896/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com