如何从整数中删除尾随零(例如: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
这个问题不言而喻。我怎样才能对任何整数进行这种转换?
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