java - 在 Java 中将浮点值四舍五入为最接近的整数的最有效方法是什么?

标签 java optimization rounding floating-accuracy

我已经看到很多关于 SO 与四舍五入浮点值相关的讨论,但没有考虑到效率方面的可靠问答。所以这里是:

将浮点值四舍五入为最接近的整数的最有效(但正确)的方法是什么?

(int) (mFloat + 0.5);

Math.round(mFloat);

FloatMath.floor(mFloat + 0.5);

还是别的?

我最好使用标准 java 库中可用的东西,而不是我必须导入的一些外部库。

最佳答案

根据我认为您所指的问答,各种方法的相对效率取决于您使用的平台

但最重要的是:

  • 最新的 JRE 对 Math.floor/StrictMath.floor 进行了性能修复,并且
  • 除非您进行了大量的舍入,否则您采用哪种方式可能没有任何区别。

引用资料:

关于java - 在 Java 中将浮点值四舍五入为最接近的整数的最有效方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12091014/

相关文章:

Java.io.File - 无法在 Android 上重命名和移动文件

java - 自定义 JLabel 类打破了 JLabel 的定位

java - 如何使用 Spring Boot 防止危险 Controller 包含在生产配置文件中?

c++ - 压缩嵌套循环

optimization - 计算结果和多路复用与否

r - sprintf 在四舍五入后将减号加零

c++ - 为什么小数字的答案是错误的?与MPIR

java - 随机数不重复

mysql - 请帮助优化 MYSQL 表和/或查询

python - Pandas 读取具有浮点值的 csv 文件导致奇怪的舍入和小数位