Java:基于最后一位数的舍入整数

时间:2015-05-28 10:20:48

标签: java

我希望根据它的最后一位数来舍入Integer数字,如果它等于,低于或高于5示例:

for 315 I want to display 315
for 314 I want to display 310
for 316 I want to display 320
我怎样才能做到这一点 ?

3 个答案:

答案 0 :(得分: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);
}

答案 1 :(得分:1)

使用ApacheCommons MathUtil.round()结合BigDecimal舍入常量

  

将给定值舍入到指定的小数位数。使用给定方法舍入该值,该方法是BigDecimal中定义的任何方法。

这应该有效

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

答案 2 :(得分:0)

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

val 是您希望稍后处理的数字