Числовые типы
int, double, decimal и другие.
«Числовые типы» — бесплатный урок 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 — локальная установка не требуется.