java - 在 Java 中总是四舍五入到十

标签 java

我还没有找到任何答案。但我想将任何数字四舍五入到十。像这样:

32 -> 40
25 -> 30
88 -> 90

但是使用下面的代码,我会四舍五入。我如何才能始终四舍五入而不是最接近的十位?

Math.round(number / 10.0) * 10;

最佳答案

查看我的 previous answer另一个关于如何处理负数的问题。

要向下舍入到最接近的 10 的倍数,只需除以 10 再乘以 10,因为整数除法总是向下舍入(向零)。

roundDown = value / 10 * 10;

要向上取整,在向下取整前加 9。

roundUp = (value + 9) / 10 * 10;

要向上取整,在向下取整前加 5。

roundHalfUp = (value + 5) / 10 * 10;

测试

System.out.println("    Down  Up  Half-Up");
int[] arr = { 32, 25, 88, 50 };
for (int v : arr)
    System.out.printf("%2d %4d %4d %5d%n", v, v / 10 * 10, (v + 9) / 10 * 10, (v + 6) / 10 * 10);

输出

    Down  Up  Half-Up
32   30   40    30
25   20   30    30
88   80   90    90
50   50   50    50

关于java - 在 Java 中总是四舍五入到十,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53905726/

相关文章:

java - 到底什么是 CRUD 表

java - 多模块maven项目: Failed to execute goal on project,无法解析项目的依赖关系,无法找到 Artifact

java - Spring 安全出版

java - 使用套接字编程将数据从Java发送到C

Java HashMap/HashSet 多态性

java - 类型安全: Unchecked cast leads to java. lang.ClassCastException

java - 当我尝试运行 JFrame 时,为什么会收到 NullPointerException?

java - Hadoop “Unable to load native-hadoop library for your platform”警告

java - 具有空布局的 JPanel 类不显示组件

java - 不确定要在对象字符串变量中放入什么