四舍五入到最接近的100

时间:2014-02-24 10:10:11

标签: java rounding

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

3 个答案:

答案 0 :(得分:8)

我除以100,然后再乘以:

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

注意除以100.0而不是100,所以你要用浮点运算进行除法。

答案 1 :(得分:1)

另一种方法是,避免浮点运算和可能的精度误差是这样的:

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;

答案 2 :(得分:0)

  1. 除以100
  2. 乘以100
  3. 小演示:

    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);
    }