我到处搜索,看到了不同的差异。但似乎两个似乎都不适合我:(所以在Java中如何检查大整数的某个位置的值?我想检查以确保任何数字中的第一个位置如678954的值是4。在Java类中构建是否可以检查某个位置内的整数值?我会假设有类似.charAt的内置内容吗?如下所示我想确保整数中的第一个位置是'0'。如果我错过了之前发生的同一个问题的回答,请原谅我。如果是这样,你可以在Stackoverflow中发布它的链接吗?哦,我看到了一些关于Character.getNumericValue的东西,我试过并得到了相同的“int can not not被解除引用“错误。
if(getEmployeeId()。charAt(0)=='0')
干杯!
答案 0 :(得分:3)
String str = Integer.toString(getEmployeeId());
if(str.charAt(str.length() - 1) == '0')
或者,使用mod,
if (getEmployeeId % 10 == 0)
答案 1 :(得分:2)
您可以应用数学技能并使用/
和%
来检查数字的数字而不将其转换为字符串:
if (num % 10 == 4) {
// The last digit is 4
}
if ((num/1000) % 10 == 7) {
// Digit at position 4 is 7
}
这个想法是将数字的十进制表示除以10的幂,然后通过计算除以10后的余数来得到最后一位数。
答案 2 :(得分:0)
如果我理解正确,请查看@Louis Wassermans的回答。您需要首先将int转换为字符串,以便使用charAt()检查值。我认为charAt()不适用于整数。
答案 3 :(得分:0)
你的问题是在java中整数存储在二进制中。例如,数字678954将是10100101110000101010。
如您所见 10100101110000101010 内部没有字符'4'。你应该做的是将整数转换为字符串,以便对它进行字符串操作。
一种简单的方法是使用 Integer.toString(aInt)将整数转换为字符串。
尝试从
更改代码
if(getEmployeeId().charAt(0) == '0')
到
if(Integer.toString(getEmployeeId()).charAt(0) == '0')