如何验证某个位置中大数字内的整数值是否为Java中的某个值?

时间:2012-03-01 01:17:10

标签: java

我到处搜索,看到了不同的差异。但似乎两个似乎都不适合我:(所以在Java中如何检查大整数的某个位置的值?我想检查以确保任何数字中的第一个位置如678954的值是4。在Java类中构建是否可以检查某个位置内的整数值?我会假设有类似.charAt的内置内容吗?如下所示我想确保整数中的第一个位置是'0'。如果我错过了之前发生的同一个问题的回答,请原谅我。如果是这样,你可以在Stackoverflow中发布它的链接吗?哦,我看到了一些关于Character.getNumericValue的东西,我试过并得到了相同的“int can not not被解除引用“错误。

if(getEmployeeId()。charAt(0)=='0')

干杯!

4 个答案:

答案 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')