java - Java公式中四舍五入到十没有意义

标签 java

我在 SO 上找到了这个公式,但我不明白它是如何工作的:

(n + 5) / 10 * 10

这会将数字舍入为 10 的倍数,但当我计算它时,它只是除以并乘回到 n+5。这实际上是如何运作的?

示例(Java 语言):

(24 + 5) / 10 * 10 = 20

据我所知,实际上应该是 29。

最佳答案

您正在 int 上执行这些操作。因此,每个运算结果也是一个int。发生的情况是:

(24 + 5) = 29

29/10 = 2(因为小数部分总是以整数形式去掉)

2 * 10 = 20

此舍入方法仅适用于 floatdouble。您可以尝试将 int 转换为 double

关于java - Java公式中四舍五入到十没有意义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34710110/

相关文章:

java - Java 类中方法的静态最终常量的位置

java - 如何对给定的字符串模式使用 Java 正则表达式或 Java 流并从中创建映射

java - 无法解决 Java 中的一个简单错误

具有导出为 JAR 的简单 Web 服务器的 Java 应用程序

java.security.cert.CertificateException : No subject alternative names matching IP address

java - Spring 安全: using 2 different hashing methods in a single application

java - 与 postgres 的 spring JDBC 连接问题

java - 扩展 Eclipse View 部分的选项卡上下文菜单

java - AWS Java SDK - 无法通过区域提供商链找到区域

java - 运行 CGI Java 程序