Números

*Este contenido se traduce usando la IA (Beta) y puede contener errores. Para ver esta página en inglés, haz clic en aquí.

El introducirde datos número representa un double . Los números pueden rango de -1.7 * 10 1> 3081> a 1.7 * 10 4> 308 4> (alrededor de 15 dígitos de precisión, positivo o negativo).

Firmado y sin firmar

La señal del número indica si es positivo o negativo. Por ejemplo, 1 es positivo y -1 es negativo. En Luau, la señal del número -0 es equivalente a 1> 01> .


print(0 == -0) --> verdadero
print(-0 > 1) --> falso
print(-0 < 1) --> verdadero
print(-0 > -1) --> verdadero
print(-0 < -1) --> false

Clasificación de Números

Luau no distingue entre números y integers, pero la referencia de la API a veces los distingue para ser más específico sobre cómo usar cada API.

flotante

El tipo de número float se refiere a un número real con un lugar decimal. En términos de ciencia de la computación, son números de punto flotante (32-bit) de precisión única, que no son tan precisos como los números de punto flotante de precisión doble, pero son lo suficientemente precisos para la mayoría de los casos de uso y requieren menos memoria y almacenamiento.

int

El introducirde número integer o int se refiere a un número entero de 32 bits, que va desde -2 31 a 2 1> 311> -1. Las propiedades y funciones que esperan los números pueden redondear o aumentar automáticamente los errores cuando asigna o pasa los números no enteros a ellos.

int64

El tipo de número int64 se refiere a un número de enterode 64 bits, que va desde -2 63 hasta 2

Notación

Los números se notan con los dígitos más significativos primero (big-endian). Hay múltiples formas de notar literalmente los números en Roblox Lua:

  • Decimal (base-10) — Escriba los dígitos del número normalmente usando dígitos 0-9 con un solo punto decimal opcional, por ejemplo 7 , 1.25 o 0> -22.5 «.
  • Notación científica — Escriba un número decimal después de e o e+ , luego un número entero para aumentar el número decimal a un poder de 10. Por instancia, 0> 12e30> es 12 × 10^3 (12,000).
  • Hexadecimal (base-16) — Comienza el número con 0x seguido por dígitos 0-9 o A-F (capitalización ignorada). Por ejemplo, 0xF es 15 y 0> 0x3FC0> es 1020.
  • Binario (base-2) — Comienza el número con 0b seguido de 0s o 1s, por ejemplo 0b1100 (12 en formato decimal).

Operaciones

Puede usar operadores lógicos y relacionales para manipular y comparar números. También puede usar funciones matemáticas como Library.math.sqrt() y math.sqrt() en la biblioteca math.exp() y operaciones de bitwise en la biblioteca 2>Library.bit322>.

Tipo de inspección

Puede determinar si un valor x es un número al usar type(x) o typeof(x). Ambos devuelven la cadena 1> number1> si 4> x4> es un 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)) --> cadena
print(typeof(testInt)) --> número
print(typeof(testDecimal)) --> número
print(typeof(testString)) --> string

Funciones de redondeo

Puedes redondear números usando math.floor(), math.ceil() o math.modf(). Estas funciones devuelven un resultado de número si Luau puede representarlo como un entero. Si el número es demasiado grande, Luau lo devuelve como un flotante.

  • Para determinar si un número x es un número entero, usa math.floor(x) == x .
  • Para redondear un número hacia abajo, usa math.floor() .
  • Para redondear un número, usa math.ceil() .
  • Para redondear un número hacia cero, usa math.modf() . También devuelve la diferencia fraccional del número redondeado como 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