获取整数的后三位

时间:2018-10-25 19:26:42

标签: java integer int substring

我正在尝试获取int的后三位数字,该值可以是字符串或int格式的999以上。

例如,如果我收到int 12345678,则将获得值678。

当前,我只能满足于长度为4位(例如1899)的int。

使用   String.valueOf(numberReceived).substring(1);

2 个答案:

答案 0 :(得分:1)

取模(%)运算符,可让您在除法后获得余数。对于您的情况,您需要后三位数字,因此您需要使用% 1000来获取正确的余数。

例如,2500 / 1000 = 2。其余为500。2500 % 1000 = 500

public static int lastThreeDigits(int i) {
    return i % 1000;
}

重要的是要注意,结果int不一定是三位数。例如。 2039会给您39,而不是039

为确保您拥有三位数,您需要将结果转换为字符串。例如。 String.format("%03d", i)

如果您的原始号码为String格式,并且您想获取最后3个字符,则可以使用字符串操作代替算术。例如,下面是一个更通用的函数,用于从字符串末尾获取多个字符:

public static String lastNChars(int n, String s) {
    return s.substring(Math.max(0, s.length() - n));
}

根据您的需要,有很多不同的编写方式。

答案 1 :(得分:1)

您可以使用substring方法找到numberReceived中的位数并获取最后3位数字:

String.valueOf(numberReceived).substring(String.valueOf(numberReceived).length()-3);