如何从整数中删除尾随零(例如:300 => 3,4 => 4,5000 => 5,6060 => 606?

时间:2015-11-13 15:47:28

标签: java numeric

这个问题不言而喻。如何对任何整数进行此转换?

300 => 3
4 => 4
5000 => 5
6060 => 606
0 => 0
77 => 77

2 个答案:

答案 0 :(得分:4)

您需要将数字除以10,只要它可以被10整除。

这将是一个实现。如果number % 10 == 0,则数字可被10整除。我们还需要检查数字是否为number != 0来处理输入数字为0的情况。

private static int stripTrailingZeros(int number) {
    while (number != 0 && number % 10 == 0) {
        number /= 10;
    }
    return number;
}

答案 1 :(得分:0)

可以使用递归函数和模数运算符来实现。

public static int recursiveZeroStripper(int numberWithTrailingZero) {
    if(numberWithTrailingZero == 0){
        return numberWithTrailingZero;
    }
    if(numberWithTrailingZero%10==0){
        return recursiveZeroStripper(numberWithTrailingZero/10);
    }
    return numberWithTrailingZero;
}

使用

运行该功能
    int num=-100;
    System.out.println(recursiveZeroStripper(num));

导致

的输出
-1