1

説明のために、次の整数を丸める最良の方法を見つけたいと思います。

(整数) -> (丸められた値)

9 -> 100

200 -> 200

201 -> 300

1367 -> 1400

...などなど... Javaを使用してこれを達成するための最良の方法について何か提案はありますか?

4

4 に答える 4

2

係数を 100 で決定する

int k = 1234;
int mod = k % 100; //mod = 34
int difference = 100 - mod; //difference = 66
k += difference;

簡単です。

于 2013-08-20T02:15:54.280 に答える
0

Math#ceil() の使用

int[] ints = {9, 200, 201, 1367, 90210};

int[] rounded = new int[5];
for (int i = 0; i < ints.length; i++) {
    rounded[i] = (int) (Math.ceil(ints[i]/100f) * 100f);
}

// prints: [100, 200, 300, 1400, 90300]
System.out.println(Arrays.toString(rounded));
于 2013-08-20T02:29:50.220 に答える
0
int d = num % 100;
num = num+100-d
于 2013-08-20T02:16:38.920 に答える
0
public static int ceil100(int num) {
    return (num + 99) / 100 * 100;
}

確かに、効率的ではありませんが、それでも。他の人が投稿した回答も機能します:

public static int ceil100(int num) {
    return num + 100 - num % 100;
}
于 2013-08-20T02:18:36.720 に答える