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

How to remove trailing zeros from an integer (ex: 300 => 3, 4 => 4, 5000 => 5, 6060 => 606?

这个问题不言而喻。我怎样才能对任何整数进行这种转换?

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

需要除以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;
}

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

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