Números

*Este conteúdo é traduzido por IA (Beta) e pode conter erros. Para ver a página em inglês, clique aqui.

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) --> verdadeiro
print(-0 > 1) --> falso
print(-0 < 1) --> verdadeiro
print(-0 > -1) --> verdadeiro
print(-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 = 5
local testDecimal = 9.12761656
local testString = "Hello"
print(type(testInt)) --> número
print(type(testDecimal)) --> número
print(type(testString)) --> string / cadeia / texto
print(typeof(testInt)) --> número
print(typeof(testDecimal)) --> número
print(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)) --> 3
print(math.floor(-3.3)) --> -4
print(math.ceil(3.3)) --> 4
print(math.ceil(-3.3)) --> -3
print(math.modf(3.3)) --> 3.0.2999999999999998
print(math.modf(-3.3)) --> -3 -0.2999999999999998