2015-05-28 26 views
-5

我要舍基於它的Integer數四捨五入整數的最後一位數字,如果它是等於,低於或高於5例子:

for 315 I want to display 315
for 314 I want to display 310
for 316 I want to display 320
我該怎麼辦這個 ?Java的:根據最後一位

+1

哪裏是你的** **的努力? –

回答

0
long val; 
if (yourInteger % 5 == 0) { 
    val = yourInteger; 
} else 
    val = 10L * Math.round((yourInteger/10.0)); 

VAL是要處理後當然

+0

Thnx爲您提供幫助。 – SlimenTN

1

使用ApacheCommonsMathUtil.round()BigDecimal四捨五入常數

回合定值與小數位的指定數量綜合了許多。該值使用給定方法進行四捨五入,該方法是BigDecimal中定義的任何方法。

這應該工作

int number = 315; 
MathUtils.round((double) number, -1, BigDecimal.ROUND_HALF_DOWN); 
2

,如果你想通過你自己來處理它可以使用類似的方法:

public int round(int a) 
{ 
    int lastDidigt=a%10; 

    if(lastDidigt==0 || lastDidigt==5) 
     return a; 
    if (lastDidigt <5) 
     return a-lastDidigt; 

    return a+(10-lastDidigt); 
}