RU/Number

From Multi Theft Auto: Wiki
Revision as of 10:05, 20 April 2021 by EOFIK (talk | contribs) (Обновление информации)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Number - это тип данных, значение которого является любое число. Оно может быть отрицательным, нулевым или положительным, а также целым или действительным (число с десятичной запятой).

Обычно числа делятся на два типа данных - integer и float. Но Lua автоматически преобразует эти числа друг в друга при необходимости, поэтому можно сказать, что Lua не имеет целочисленного типа (integer), но рассказать о нём стоит.

Integer

Int или integer - это тип данных, значение которого является любое целое число (число без десятичной запятой). Оно может быть положительным, нулевым или отрицательным.

Пример присвоения значений

int = 10 -- стандартная запись типа данных integer
int = -10 -- отрицательное значение типа данных integer
int = 0 -- нулевое значение типа данных integer
int = tonumber("10") -- преобразует строку "10" в числовое значение
int = "10" + 10 -- автоматически преобразует строку "10" в числовое значение при математических операциях
int = nil -- если вы хотите стереть переменную

Float

Float - это тип данных, значение которого является любое число с плавающей запятой (число с десятичной запятой). Оно может быть положительным или отрицательным.

Пример присвоения значений

float = 10,5 -- стандартная запись типа данных float
float = -10,5 -- отрицательное значение типа данных float
float = 314.16e-2 -- тип данных float с десятичным порядком
float = 0xff -- тип данных float в шестнадцатеричной системе, используя префикс 0x
float = nil -- если вы хотите стереть переменную

Преобразование String в Number

Пример 1: Использование функции Lua tonumber() может преобразовать string в number:

local thePlayer = getRandomPlayer()
local money = tonumber(getAccountData(getPlayerAccount(thePlayer), "money.key")) -- преобразует полученный тип данных string в number
setPlayerMoney(thePlayer, money)

Пример 2: Автоматическое преобразование string в number при математических операциях:

local str = "1234,56"
local x = str * 1
local y = str + 5
local z = 2000 - str
setElementPosition(theElement, x, y, z)

Пример 3: Использование функции Lua type() может помочь вам узнать, что это за тип данных:

local thePlayer = getRandomPlayer()
local money = getAccountData(getPlayerAccount(thePlayer), "money.key")
outputChatBox("Возврат функции: "..type(money)) -- сообщит игроку: "string"
outputChatBox("Возврат функции: "..type(tonumber(money))) -- сообщит игроку: "number"

Смотрите также