Как получить N-ю по счёту цифру в числе?

Как пример, у меня есть число 153. 2-я цифра по счёту в числе - 5.

Каким образом, зная номер цифры по счёту, можно получить её как число из другого числа?


Ответы (1 шт):

Автор решения: KuzCode

Вопрос поставлен неправильно. Я бы переформулировал его так: "Как получить N-ю по счёту цифру в числе?". Отвечаю на переформулированный мною вопрос:

Самый простой вариант получить N-ю по счёту цифру у числа следующий:

  1. Преобразовать число в строку
  2. Получить по индексу нужную цифру
  3. Если необходима N-я цифра с конца строки, то необходимо перевернуть строку
  4. Преобразовать цифру из символа в число

Пример кода:

int number     = 153;
int digitIndex = 1; // индекс нужной цифры
int digit      = number.ToString()[digitIndex] - '0';

Вывод:

5

Можно для удобства написать расширение:

public static class IntExtensions
{
    public static int GetDigit(this int number, int digitIndex) => number.ToString()[digitIndex] - '0';
}
→ Ссылка