gpt4 book ai didi

java - 更快地实现 Math.round?

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:05:39 24 4
gpt4 key购买 nike

此代码是否有任何缺点,它似乎是 java.lang.Math.round 的更快(且正确)版本?

public static long round(double d) {

if (d > 0) {
return (long) (d + 0.5d);
} else {
return (long) (d - 0.5d);
}
}

它利用了在 Java 中将长轮截断为零这一事实。

最佳答案

有一些special cases内置方法处理,您的代码不处理。来自文档:

  • 如果参数为NaN,则结果为0。
  • 如果参数为负无穷大或任何小于或等于 Integer.MIN_VALUE 值的值,则结果等于 Integer.MIN_VALUE 的值。
  • 如果参数是正无穷大或任何大于或等于Integer.MAX_VALUE的值,结果等于Integer.MAX_VALUE的值。

关于java - 更快地实现 Math.round?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1750739/

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