Как заменить буквы на цифры? - C#

Узнай цену своей работы

Формулировка задачи:

Пользователь вводит с клавиатуры число в 16-ной системе счисления C33,4CCCCC. Как перевести буквы в цифры для дальнейших операций над ними ?
string digit = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ";

Решение задачи: «Как заменить буквы на цифры?»

textual
Листинг программы
static void Main(string[] args) {
    Console.Write("Введите число: ");
    string number = Console.ReadLine();
    Console.Write("Введите основание системы: ");
    int b = int.Parse(Console.ReadLine());
    Console.WriteLine("{0} = {1}", number, ConvertToInt(number, b));
    Console.Read();
}
static int ConvertToInt(string number, int b) {
    int retval = 0;
    string digits = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ";
    if (b > 36 || b < 11)
        throw new ArgumentOutOfRangeException("Основание системы выходит за допустимые пределы. Должно быть в диапазоне 11 - 36");
    for (int i = 0; i < number.Length; i++) {
        char digit = number.ToLower()[i];
        int pos = digits.ToLower().IndexOf(digit);
        if (pos == -1)
            throw new ArgumentException("Введённое число содержит недопустимые символы");
        retval += pos * (int)Math.Pow(b, i);
    }
    return retval;
}

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

9   голосов , оценка 4.556 из 5
Похожие ответы