java 四舍五入至最接近的100

nqwrtyyt  于 2023-01-15  发布在  Java
关注(0)|答案(3)|浏览(123)

如何将整数舍入到最接近的100?例如,497舍入到500,98舍入到100,1423舍入到1400。

cwdobuhd

cwdobuhd1#

我会除以100,四舍五入,然后再次相乘:

int initial = ...;
int rounded = (int) Math.round(initial/100.0) * 100;

注意,要除以100.0,而不是100,因此您使用浮点运算进行除法。

qybjjes1

qybjjes12#

另一种避免浮点运算和可能的精度错误的方法是沿着以下路线的东西:

int value = 497;
int rounded = 0;
int remainder = value % 100;
if (remainder >= 50) {
  rounded = value - remainder + 100;
} else {
  rounded = value - remainder;
}

或者更简单:

int rounded = ((value + 50) / 100) * 100;
8dtrkrch

8dtrkrch3#

1.除以一百
1.圆形
1.乘以100
小型演示:

int[] values = { 497, 98, 1423 };
for (int value : values) {
    int rounded = (int) Math.round(value / 100.0) * 100;
    System.out.format("Before: %4d Rounded: %4d%n", value, rounded);
}

相关问题