我希望根据它的最后一位数来舍入Integer
数字,如果它等于,低于或高于5示例:
for 315 I want to display 315
for 314 I want to display 310
for 316 I want to display 320
我怎样才能做到这一点 ?
答案 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 是您希望稍后处理的数字