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) --> verdaderoprint(-0 > 1) --> falsoprint(-0 < 1) --> verdaderoprint(-0 > -1) --> verdaderoprint(-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 = 5local testDecimal = 9.12761656local testString = "Hello"print(type(testInt)) --> númeroprint(type(testDecimal)) --> númeroprint(type(testString)) --> cadenaprint(typeof(testInt)) --> númeroprint(typeof(testDecimal)) --> númeroprint(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)) --> 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