0Pricing
C# Academy · Урок

Преобразование чисел

Приведения и методы Convert.

«Преобразование чисел» — бесплатный урок C# Academy на CoddyKit. Это урок 4 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения C# Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс C# Academy содержит 4 уроков всего.

Зачем выполнять преобразование

Разные числовые типы не всегда можно свободно смешивать. Иногда необходимо преобразовать значение из одного типа в другой.

C# поддерживает неявные преобразования, явные приведения типов, класс Convert и разбор текста. В этом уроке рассматривается каждый из этих способов.

Неявное преобразование

Если целевой тип может вместить любое возможное значение исходного типа, C# выполняет неявное преобразование без дополнительного синтаксиса.

Значение типа int помещается в double, поэтому такое присваивание выполняется автоматически и безопасно.

int whole = 7;
double real = whole;
Console.WriteLine(real);

Явное приведение типа

При преобразовании в обратную сторону данные могут быть потеряны, поэтому C# требует явного приведения с указанием целевого типа в скобках.

Приведение double к int отбрасывает дробную часть, двигаясь к нулю.

double price = 9.99;
int dollars = (int)price;
Console.WriteLine(dollars);

Приведение может вызвать переполнение

Приведение значения, которое не помещается в целевой тип, может привести к неверному результату из-за переполнения.

При приведении большого значения типа long к int происходит циклический переход, поэтому всегда проверяйте, помещается ли значение в целевой тип.

long big = 3000000000;
int small = (int)big;
Console.WriteLine(small);

Класс Convert

Класс System.Convert преобразует значения между типами с помощью таких методов, как Convert.ToInt32 и Convert.ToDouble.

В отличие от приведения типов, Convert.ToInt32 округляет значение double до ближайшего целого числа, а не отбрасывает дробную часть.

double value = 9.99;
int rounded = Convert.ToInt32(value);
Console.WriteLine(rounded);

Разбор чисел из текста

Пользовательский ввод и файлы поступают в виде string. Используйте int.Parse или double.Parse, чтобы превратить текст в числа.

Текст должен содержать допустимое число, иначе при разборе будет создано исключение.

string text = "42";
int number = int.Parse(text);
Console.WriteLine(number + 8);

Безопасный разбор с TryParse

int.TryParse пытается выполнить преобразование и возвращает true или false, вместо того чтобы создать исключение. Разобранное значение возвращается через параметр out.

Это безопасный способ обрабатывать ненадёжный ввод.

bool ok = int.TryParse("abc", out int result);
Console.WriteLine(ok);
Console.WriteLine(result);

Преобразование чисел в строки

У каждого числового типа есть метод ToString, создающий текстовое представление. Можно передать строку формата, чтобы управлять видом результата.

  • "C" денежный формат
  • "F2" фиксированный формат с 2 знаками после десятичного разделителя
  • "N0" группировка разрядов тысяч
double amount = 1234.5;
Console.WriteLine(amount.ToString("F2"));
Console.WriteLine(amount.ToString("N0"));

Преобразование int в double для деления

Частая причина для преобразования — необходимость избежать целочисленного деления. Приведите один операнд к типу double перед делением, чтобы сохранить знаки после десятичного разделителя.

Без приведения Вы получили бы усечённый результат в виде целого числа.

int scored = 7, total = 10;
double percent = (double)scored / total * 100;
Console.WriteLine(percent);

Приведение, Convert или Parse

Выбирайте подходящий инструмент:

  • Приведение между числовыми типами (отбрасывает дробную часть)
  • Convert между многими типами (округляет и обрабатывает null)
  • Parse / TryParse превращает текст в числа

Используйте TryParse для любого ввода, которым Вы не управляете.

Пример преобразования

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

string input = "19.95";
if (decimal.TryParse(input, out decimal price))
{
    decimal withTax = price * 1.20m;
    Console.WriteLine(withTax.ToString("F2"));
}

Быстрая проверка

Выберите самый безопасный способ преобразовать введённый пользователем текст в число.

Повторение

Вы научились преобразовывать числа: выполнять неявные преобразования, когда это безопасно, использовать явные приведения (которые отбрасывают дробную часть и могут вызвать переполнение), класс Convert (который округляет) и разбирать текст с помощью Parse и более безопасного TryParse.

Вы также научились форматировать числа обратно в строки с помощью кодов формата ToString. Приводите один операнд к типу double, чтобы избежать целочисленного деления.

Часто задаваемые вопросы

Урок «Преобразование чисел» бесплатный?

Да — полный текст урока «Преобразование чисел» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс C# Academy, подпишись на CoddyKit PRO. Курс C# Academy содержит 4 уроков всего.

Чему я научусь в уроке «Преобразование чисел»?

Приведения и методы Convert. Ты практикуешь C# Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.

Нужен ли мне опыт, чтобы начать C# Academy?

Предыдущий опыт не требуется. C# Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 4 из 4.

Сколько времени занимает урок «Преобразование чисел»?

Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.

Можно ли писать и запускать код в этом уроке C# Academy?

Да. Каждый урок C# Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.

Все уроки этого курса

  1. Числовые типы
  2. Арифметика и приоритет операторов
  3. Класс Math
  4. Преобразование чисел
← Назад к C# Academy