如何获取整数的单独数字?
我有1100,1002,1022等数字。我想要单独的数字,例如,对于第一个数字1100,我想要有1,1,0,0。
如何在Java中获取它?
我有1100,1002,1022等数字。我想要单独的数字,例如,对于第一个数字1100,我想要有1,1,0,0。
如何在Java中获取它?
为此,您将使用(mod)运算符。%
int number; // = some int
while (number > 0) {
print( number % 10);
number = number / 10;
}
mod运算符将为您提供对数字进行int除法的其余部分。
所以
10012 % 10 = 2
因为:
10012 / 10 = 1001, remainder 2
注意:正如保罗所指出的,这将以相反的顺序给你数字。您需要将它们推到堆栈上,然后以相反的顺序弹出它们。
按正确顺序打印数字的代码:
int number; // = and int
LinkedList<Integer> stack = new LinkedList<Integer>();
while (number > 0) {
stack.push( number % 10 );
number = number / 10;
}
while (!stack.isEmpty()) {
print(stack.pop());
}
将其转换为 String
并使用 String#toCharArray()
或 String#split()。
String number = String.valueOf(someInt);
char[] digits1 = number.toCharArray();
// or:
String[] digits2 = number.split("(?<=.)");
如果您已经在使用Java 8,并且您碰巧想在之后对其进行一些聚合操作,请考虑使用String#chars()
从中获取IntStream
。
IntStream chars = number.chars();