Получить последние три цифры Int - PullRequest
0 голосов
/ 25 октября 2018

Я пытаюсь получить последние три цифры типа int, значение которых может быть больше 999 в виде строки или формата int.

Например, если бы я получил int 12345678, я бы получил значение 678.

В настоящее время я могу удовлетворить это только для целых чисел длиной 4 цифры, таких как 1899.

Использование String.valueOf (numberReceived) .substring (1);

Ответы [ 2 ]

0 голосов
/ 25 октября 2018

Вы можете найти количество цифр в numberReceived и получить последние 3 цифры, используя метод подстроки:

String.valueOf(numberReceived).substring(String.valueOf(numberReceived).length()-3);
0 голосов
/ 25 октября 2018

Оператор по модулю (%) позволяет получить остаток после деления.В вашем случае вам нужны последние три цифры, поэтому вам нужно будет использовать % 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));
}

Существует множество различных способов ее записи в зависимости от того, что вы хотите.

...