如何在 Java 中正确舍入值?
How do i Round Values Properly in Java?
我想得到如下所示的舍入值。
round (1.4) = 1
round (1.5) = 1
round (1.6) = 2
如何使用 java 代码将第 (1.5) 轮的结果变为第 1 轮而不是第 2 轮?
因为你想从 .6
中获取上限值然后使用这个
x = Math.floor(x + 0.4);
正如我在评论中提到的,您可以在调用 Math.round
之前减去 0.1
。喜欢,
DoubleStream.of(1.4, 1.5, 1.59, 1.6)
.mapToInt(x -> (int) Math.round(x - 0.1))
.forEach(System.out::println);
输出(按要求)
1
1
1
2
我想得到如下所示的舍入值。
round (1.4) = 1
round (1.5) = 1
round (1.6) = 2
如何使用 java 代码将第 (1.5) 轮的结果变为第 1 轮而不是第 2 轮?
因为你想从 .6
中获取上限值然后使用这个
x = Math.floor(x + 0.4);
正如我在评论中提到的,您可以在调用 Math.round
之前减去 0.1
。喜欢,
DoubleStream.of(1.4, 1.5, 1.59, 1.6)
.mapToInt(x -> (int) Math.round(x - 0.1))
.forEach(System.out::println);
输出(按要求)
1
1
1
2