如何在java中对数字进行舍入

如何在java中对数字进行舍入,java,math,rounding,Java,Math,Rounding,我需要知道如何像这个例子一样对数字进行四舍五入 1448 => 1450 1651 => 1660 22 => 30 1001=> 1010 那么,我应该使用什么函数来对这样的数字进行四舍五入呢?我不确定是否有特殊的函数,但是如果你有数字n,那么你要找的数字就是(n/10+1)*10如果n%10!=0和其他n+10 因此,如果您希望自己实现该功能,它将类似于: int roundUpTens(int n){ if (n % 10 == 0){ r

我需要知道如何像这个例子一样对数字进行四舍五入

1448 => 1450
1651 => 1660
22 => 30
1001=> 1010

那么,我应该使用什么函数来对这样的数字进行四舍五入呢?我不确定是否有特殊的函数,但是如果你有数字
n
,那么你要找的数字就是
(n/10+1)*10
如果
n%10!=0
和其他
n+10

因此,如果您希望自己实现该功能,它将类似于:

int roundUpTens(int n){
    if (n % 10 == 0){
        return (n+10);
    }
    return (n/10+1)*10;
}
另一种方法是在除以10后求余数,然后用它来求整数:

int roundUpTens(int n){
    if (n % 10 == 0){
        return (n+10);
    }
    return (n+10 - n%10);
}

你自己写不是很琐碎吗
while(x%10!=0){++x;}
@Eugene你真的应该使用这样的循环,而不是,例如
int m=x%10;如果(m!=0)x+=10-m?@Holger:)现在我想。。。这是我读到这个问题时想到的第一件事。当值已经是10的倍数时,加10是一个非常奇怪的策略。我不知道有哪种舍入模式能做到这一点。更奇怪的是,如果你坚持这一政策,那么额外的
if
语句就完全过时了。删除它们时,结果不会改变。