C# Academy · Урок

Числовые типы

int, double, decimal и другие.

Урок 1 из 413 шагов

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

Почему важны числовые типы

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

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

В этом уроке Вы познакомитесь с целыми числами, числами с плавающей запятой и типами для десятичных значений.

Целочисленные типы

Целые числа хранят числа без дробной части.

  • int — 32-разрядный тип, используемый по умолчанию в большинстве случаев
  • long — 64-разрядный тип для очень больших количеств
  • short и byte — типы с меньшими диапазонами

Используйте int, если только значение не может превысить примерно два миллиарда.

int age = 30;
long population = 8000000000;
Console.WriteLine(age);
Console.WriteLine(population);

Диапазоны целых чисел

У каждого целочисленного типа есть фиксированные минимальное и максимальное значения. Их можно прочитать с помощью int.MaxValue и аналогичных констант.

Превышение максимального значения вызывает переполнение, при котором значение незаметно переходит к началу диапазона.

Console.WriteLine(int.MinValue);
Console.WriteLine(int.MaxValue);
Console.WriteLine(long.MaxValue);

Числа с плавающей запятой: двойная точность

double — 64-разрядный тип с плавающей запятой для вещественных чисел с дробной частью.

Это тип по умолчанию для дробных литералов, поэтому 3.14 имеет тип double. Он быстр и отлично подходит для научных вычислений и графики, но хранит значения приближённо.

double pi = 3.14159;
double half = 1.0 / 2.0;
Console.WriteLine(pi);
Console.WriteLine(half);

Числа с плавающей запятой: одинарная точность

float — 32-разрядный тип с плавающей запятой. Он использует вдвое меньше памяти, чем double, но хранит меньше цифр.

Литералу float нужен суффикс f, например 2.5f, иначе C# рассматривает это число как double.

float temperature = 21.5f;
float ratio = 0.1f;
Console.WriteLine(temperature);
Console.WriteLine(ratio);

Точные денежные значения: decimal

decimal — 128-разрядный тип, предназначенный для денег и точных десятичных значений. Он устраняет небольшие ошибки округления, свойственные double.

Литерал decimal использует суффикс m, например 9.99m. Используйте его для цен, банковских операций и бухгалтерского учёта.

decimal price = 9.99m;
decimal tax = 0.08m;
Console.WriteLine(price + price * tax);

Двойная точность и decimal

Посмотрите, как double может дать неожиданный результат, тогда как decimal сохраняет точность.

Поэтому в финансовом коде предпочитают decimal, несмотря на то что он работает медленнее, чем double.

double d = 0.1 + 0.2;
decimal m = 0.1m + 0.2m;
Console.WriteLine(d);
Console.WriteLine(m);

Вывод типа автоматически

Ключевое слово var позволяет компилятору вывести тип из значения справа.

Переменная по-прежнему имеет фиксированный тип: запись var count = 5; создаёт значение типа int. Суффиксы определяют тип дробных литералов.

var count = 5;
var pi = 3.14;
var price = 9.99m;
Console.WriteLine(count.GetType());
Console.WriteLine(price.GetType());

Разделители цифр

Для удобства чтения можно помещать символы подчёркивания между цифрами любого числового литерала. Компилятор игнорирует эти символы.

Благодаря этому большие числа гораздо легче быстро прочитать.

int million = 1_000_000;
long distance = 9_460_730_472_580_800;
Console.WriteLine(million);
Console.WriteLine(distance);

Специальные значения double

double может представлять специальные значения: положительную и отрицательную бесконечность, а также NaN (не число).

Деление чисел типа double на ноль даёт бесконечность, а не ошибку, тогда как деление целых чисел на ноль вызывает исключение.

double inf = 1.0 / 0.0;
double nan = 0.0 / 0.0;
Console.WriteLine(inf);
Console.WriteLine(nan);

Выбор подходящего типа

Краткое руководство:

  • Целые числа → int (или long, если значение очень велико)
  • Научные или обычные десятичные значения → double
  • Деньги и точные значения → decimal

Правильный выбор помогает предотвратить ошибки переполнения и округления.

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

Проверьте, насколько хорошо Вы понимаете числовые типы.

Итоги

Вы изучили основные числовые типы C#: int и long для целых чисел, double и float для чисел с плавающей запятой и decimal для точных денежных значений.

Запомните суффиксы литералов: f для float, m для decimal и символы подчёркивания для удобства чтения. Выбирайте типы, учитывая диапазон, точность и объём памяти.

Можно начать бесплатно

Изучай C# с ИИ-репетитором — бесплатно

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

Курсы
93
Уроки
346

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

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

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

Чему я научусь в уроке «Числовые типы»?

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

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

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

Сколько времени занимает урок «Числовые типы»?

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

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

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

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

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