如何获取 java 中带前导零的整数的位数?
How to get number of digits in an integer with leading zeros in java?
这道题包括带前导零的数字和通常以十六进制计算的数字(如 09)。假设用户输入是整数,因为我将数字作为整数传递给某个函数。
例如
- 如果用户输入 5 我应该得到 1
- 如果用户输入 0005 我应该
得到 4
- 如果用户输入 09 我应该得到 2
(注)以下方法无效:
String.valueOf(integer).length()
用户输入可能已经是 String
,所以您可以只使用 String.length()
。例如:
public static void main(String... args) {
Scanner in = new Scanner(System.in);
String number = in.next();
int numDigits = number.length();
System.out.println(numDigits);
}
如果输入是整数,则不能有前导零。如果初始输入有零,而您在某个时候将其转换为整数,则您会丢失此信息。
这仅在您需要的数字是字符串时有效。你没有 0005 整数,除非它不是整数,而是一个字符串。
您必须将这些数字保存为 String 而不是 int 才能工作。然后就可以使用.length()
方法
这道题包括带前导零的数字和通常以十六进制计算的数字(如 09)。假设用户输入是整数,因为我将数字作为整数传递给某个函数。
例如
- 如果用户输入 5 我应该得到 1
- 如果用户输入 0005 我应该 得到 4
- 如果用户输入 09 我应该得到 2
(注)以下方法无效:
String.valueOf(integer).length()
用户输入可能已经是 String
,所以您可以只使用 String.length()
。例如:
public static void main(String... args) {
Scanner in = new Scanner(System.in);
String number = in.next();
int numDigits = number.length();
System.out.println(numDigits);
}
如果输入是整数,则不能有前导零。如果初始输入有零,而您在某个时候将其转换为整数,则您会丢失此信息。
这仅在您需要的数字是字符串时有效。你没有 0005 整数,除非它不是整数,而是一个字符串。
您必须将这些数字保存为 String 而不是 int 才能工作。然后就可以使用.length()
方法