2013-08-20 34 views
1

爲了說明,我想找出最好的辦法是圓以下的整數什麼:如何將Java中的下一個最高百位數整數?

(整數) - >(四捨五入後的值)

9 - > 100

200 - > 200

201 - > 300

1367 - > 1400

...等等等等...任何建議,什麼將b用Java實現這個最好的方法是什麼?

+0

它的方式會導致大多數內存efficent方法。 –

回答

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

直截了當確定模量。

0
int d = num % 100; 
num = num+100-d 
+0

做了一個錯誤,並編輯:( –

0
public static int ceil100(int num) { 
    return (num + 99)/100 * 100; 
} 

當然,效率不高,但仍。他人發佈的答案工作太:

public static int ceil100(int num) { 
    return num + 100 - num % 100; 
} 
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)); 
相關問題