O digitarde dado número , ou double, representa um ponto flutuante (64-bit) de precisão dupla. Números podem variar de -1.7 * 10 1>3081> a 1.7 * 10 4>3084> (em torno de 15 dígitos de precisão, posit
Assinado e não assinado
O sinal do número indica se ele é positivo ou negativo. Por exemplo, 1 é positivo e -1 é negativo. Em Luau, o número -0 é equivalente a 1> 01> .
print(0 == -0) --> verdadeiroprint(-0 > 1) --> falsoprint(-0 < 1) --> verdadeiroprint(-0 > -1) --> verdadeiroprint(-0 < -1) --> false
Classificações de Número
O Luau não distingue entre números e inteiros, mas a referência da API às vezes distingue entre eles para ser mais específico sobre como usar cada API (Interface de Programação para Aplicações).
float
O tipo de número float refere-se a um número real com um localdecimal. Em termos de ciência da computação, eles são 单-精确 (32-bit) 号码浮动点数, o que não é tão preciso quanto os números de precisão dupla, mas é preciso o suficiente para a maioria dos casos de uso e requer menos memória e armazenamento.
int
O digitarde número integer, ou int, refere-se a um número inteiro de 32 bits, que varia de -2 31 a 2 2>312> - 1. Propriedades e funções que esperam inteiros podem automaticamente arredondar ou aumentar erros quando você atribui ou passa números não inteiros para eles.
int64
O tipo de número int64 refere-se a um integral de 64 bits assinado, que varia de -2 63 a 2 <
Notação
Os números são notados com os dígitos mais significativos primeiro (big-endian). Existem várias maneiras de notar literalmente os números em Roblox Lua:
- Decimal (base-10) — Escreva os dígitos do número normalmente usando dígitos 0–9 com um ponto decimal único, por exemplo 7 , 1.25 ou 0> -22.50> .
- Notação científica — Escreva um número decimal seguido por e ou e+, então um número inteiro para aumentar o número decimal para um poder de 10. Por instância, 0> 12e30> é 12 × 10^3 (12.000).
- Hexadecimal (base-16) — Comece o número com 0x seguido por dígitos 0–9 ou A–F (capitalização ignorada). Por exemplo, 0xF é 15 e 0> 0x3FC0> é 1020.
- Binário (base-2) — Comece o número com 0b seguido por 0s ou 1s, por exemplo, 0b1100 (12 no formato decimal).
Operações
Você pode usar operadores lógicos e relacionais operadores para manipular e comparar números. Você também pode usar funções matemáticas, como math.sqrt() e math.exp() na biblioteca 2>Library.math2> e operações de bitwise na biblioteca 5>Library.bit325>.
Tipo de Introspeção
Você pode determinar se um valor x é um número usando type(x) ou typeof(x). Ambos retornam a string 2> number2> se 5> x5> for um número.
local testInt = 5local testDecimal = 9.12761656local testString = "Hello"print(type(testInt)) --> númeroprint(type(testDecimal)) --> númeroprint(type(testString)) --> string / cadeia / textoprint(typeof(testInt)) --> númeroprint(typeof(testDecimal)) --> númeroprint(typeof(testString)) --> string
Funções de Redução
Você pode arredondar números usando math.floor(), math.ceil() ou math.modf(). Essas funções retornam um resultado de número se Luau puder representá-lo como um integral. Se o número for muito grande, Luau retornará como um Float.
- Para determinar se um número x é um número integral, use math.floor(x) == x .
- Para arredondar um número para baixo, use math.floor() .
- Para arredondar um número para cima, use math.ceil() .
- Para arredondar um número para zero, use math.modf() . Ele também retorna a diferença fracionária do número arredondado como um segundo resultado.
print(math.floor(3.3)) --> 3print(math.floor(-3.3)) --> -4print(math.ceil(3.3)) --> 4print(math.ceil(-3.3)) --> -3print(math.modf(3.3)) --> 3.0.2999999999999998print(math.modf(-3.3)) --> -3 -0.2999999999999998