Как я могу получить последние две цифры любого 3+ ди git целого числа? - PullRequest
1 голос
/ 07 января 2020

Я пытаюсь получить последние две цифры типа int длиной не менее 3 цифр. Вот моя (довольно небрежная) попытка:

char[] number = num.ToString().ToCharArray();
int firstnum;
int secondnum;
string strLastTwoDigits = "";
int intLastTwoDigits;
firstnum = number[number.ToString().Length - 1];
secondnum = number[number.ToString().Length - 2];

strLastTwoDigits = (firstnum.ToString() + secondnum.ToString());
intLastTwoDigits = int.Parse(strLastTwoDigits);

Переменная num - это число, которое я пытаюсь получить из двух последних цифр. Я пытаюсь превратить их в строки и использовать для этого строковые функции, вероятно, не так, как это делается. Логика c для проверки того, что она состоит из 3 или более цифр, не включена, мне не нужна помощь, только получение последних двух цифр.

Есть идеи?

Ответы [ 5 ]

6 голосов
/ 07 января 2020

Вам нужны эти два числа в виде строки? Или вы планируете преобразовать их обратно в число. Потому что, если вы хотите иметь номер в конце, просто используйте оператор по модулю%. Вы можете найти пример того, как его использовать здесь: https://www.dotnetperls.com/modulo

Редактировать: указать очевидное: last2 = число% 100;

4 голосов
/ 07 января 2020

Вы можете использовать modulo этого числа, это должно быть что-то вроде

int lastTwoDigits = num % 100;

Эта функция разделит num / 100 и даст вам остальное как целое число.

4 голосов
/ 07 января 2020

Просто выполните операцию по модулю .

var intLastTwoDigits = num % 100;
3 голосов
/ 07 января 2020

Если вам нужно, чтобы последние цифры в виде int, вы могли бы просто использовать по модулю:

int lasttwo = num % 100;

оператор по модулю (%) вернет вам остаток от деления одного целого числа на другое - в в этом случае ваш номер делится на 100 - остаток всегда будет двумя последними цифрами

2 голосов
/ 07 января 2020

Если вы хотите использовать для этого строки, вам поможет метод string.Substring

var numString = num.ToString();
var strLastTwoDigits = numString.Substring(numString.Length - 2, 2);
var intLastTwoDigits = int.Parse(strLastTwoDigits);

Другой (и более простой вариант) - использовать остаток % оператор для этого

int intLastTwoDigits = num % 100;

Вы получаете остаток от деления на 100, потому что вам нужны 2 последние цифры

...