Целые числа и числа с плавающей точкой
Узнайте, как Lua представляет числа.
«Целые числа и числа с плавающей точкой» — бесплатный урок Lua Academy на CoddyKit. Это урок 1 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Lua Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Lua Academy содержит 4 уроков всего.
Числа в Lua
В Lua тип number содержит числовые значения любых видов. Используйте числа, чтобы считать объекты, измерять величины и выполнять вычисления.
Начиная с Lua 5.3 числа бывают двух видов: целые числа и числа с плавающей точкой.
Для начала выведем несколько чисел.
print(10)
print(3.14)Что такое целое число
Целое число — это число без дробной части, например 0, 42 или -7.
Если записать число без десятичной точки, Lua считает его целым числом.
5— целое число-100— целое число
local apples = 5
print(apples)Что такое число с плавающей точкой
Число с плавающей точкой может представлять дробные значения, например 3.14 или 0.5.
Любое число, записанное с десятичной точкой, является числом с плавающей точкой, даже 2.0.
Числа с плавающей точкой позволяют хранить результаты измерений и деления.
local price = 2.5
print(price)Проверка подтипа
Целые числа и числа с плавающей точкой имеют общее имя типа "number". Чтобы узнать подтип значения, используйте math.type().
Функция возвращает строку "integer", "float" или nil, если значение не является числом.
print(math.type(10))
print(math.type(3.14))type() и math.type()
Функция type() сообщает общий тип. Для любого числа она возвращает "number".
Функция math.type() определяет более конкретный подтип: целое число или число с плавающей точкой. Выбирайте подходящий инструмент для каждой задачи.
print(type(7))
print(math.type(7))Деление всегда даёт число с плавающей точкой
Обычный оператор деления / всегда даёт число с плавающей точкой, даже если числа делятся без остатка.
Так, 10 / 2 даёт 5.0, а не 5. Обратите внимание на .0 в результате.
print(10 / 2)
print(math.type(10 / 2))Целочисленное деление
Используйте оператор целочисленного деления //, когда нужен результат в виде целого числа. Он делит и округляет вниз, в сторону минус бесконечности.
Если оба операнда — целые числа, результат также является целым числом.
print(7 // 2)
print(math.type(7 // 2))Числа с плавающей точкой могут иметь целые значения
Число с плавающей точкой тоже может хранить целое значение. 4.0 равно 4 по значению, но его подтип по-прежнему — float.
Lua считает 4 == 4.0 равным true, потому что числовые значения совпадают.
print(4 == 4.0)
print(math.type(4.0))Преобразование числа с плавающей точкой в целое
Вы можете преобразовать число с плавающей точкой в целое с помощью math.tointeger(). Функция возвращает целое число, если у числа с плавающей точкой нет дробной части, и nil в противном случае.
Это удобно, когда интерфейсу требуется настоящее целое число.
print(math.tointeger(8.0))
print(math.tointeger(8.5))Экспоненциальная запись
Lua позволяет записывать очень большие или очень маленькие числа с плавающей точкой в экспоненциальной форме с помощью e.
1e3 означает 1 times 10 to the power 3, то есть 1000.0. Результат всегда является числом с плавающей точкой.
print(1e3)
print(2.5e-2)Пределы целых чисел
Целые числа Lua хранятся в 64 битах, поэтому у них огромный, но конечный диапазон. Константы math.maxinteger и math.mininteger показывают его границы.
Числа с плавающей точкой могут представлять большие по модулю значения, но теряют точность при работе с большими целыми числами.
print(math.maxinteger)
print(math.mininteger)Быстрая проверка
Проверьте, что Вы узнали о целых числах и числах с плавающей точкой.
Итоги
Вы узнали, что числа Lua имеют два подтипа: целые числа и числа с плавающей точкой.
Используйте math.type(), чтобы различать их; / всегда возвращает число с плавающей точкой, а // может сохранить целочисленный результат. math.tointeger() выполняет преобразование, если это возможно.
Далее Вы подробно изучите арифметические операторы.
Часто задаваемые вопросы
Урок «Целые числа и числа с плавающей точкой» бесплатный?
Да — полный текст урока «Целые числа и числа с плавающей точкой» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Lua Academy, подпишись на CoddyKit PRO. Курс Lua Academy содержит 4 уроков всего.
Чему я научусь в уроке «Целые числа и числа с плавающей точкой»?
Узнайте, как Lua представляет числа. Ты практикуешь Lua Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.
Нужен ли мне опыт, чтобы начать Lua Academy?
Предыдущий опыт не требуется. Lua Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 1 из 4.
Сколько времени занимает урок «Целые числа и числа с плавающей точкой»?
Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.
Можно ли писать и запускать код в этом уроке Lua Academy?
Да. Каждый урок Lua Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.
Все уроки этого курса
- Целые числа и числа с плавающей точкой
- Арифметические операторы
- Библиотека math
- Форматирование чисел