Enteros y números en coma flotante
Cómo representa Lua los números
Enteros y números en coma flotante es una lección gratuita de Lua Academy en CoddyKit. Esta es la lección 1 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de Lua Academy, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de Lua Academy incluye 4 lecciones en total.
Números en Lua
En Lua, el tipo number contiene todo tipo de valores numéricos. Puede utilizar los números para contar elementos, medir valores y realizar operaciones matemáticas.
A partir de Lua 5.3, los números tienen dos variantes: enteros (números completos) y flotantes (números con punto decimal).
Comencemos imprimiendo un par de números.
print(10)
print(3.14)¿Qué es un entero?
Un entero es un número completo sin parte fraccionaria, como 0, 42 o -7.
Cuando escribe un número sin punto decimal, Lua lo trata como un entero.
5es un entero-100es un entero
local apples = 5
print(apples)¿Qué es un flotante?
Un flotante (número de coma flotante) puede representar valores fraccionarios, como 3.14 o 0.5.
Cualquier número que escriba con un punto decimal es un flotante, incluso 2.0.
Los flotantes permiten almacenar mediciones y resultados de divisiones.
local price = 2.5
print(price)Comprobación del subtipo
Los enteros y los flotantes comparten el nombre de tipo "number". Para ver qué subtipo tiene un valor, utilice math.type().
Devuelve la cadena "integer", "float" o nil si el valor no es un número.
print(math.type(10))
print(math.type(3.14))type() frente a math.type()
La función type() indica el tipo general. Para cualquier número, devuelve "number".
La función math.type() proporciona más detalle e indica si se trata de un entero o un flotante. Utilice la herramienta adecuada para cada tarea.
print(type(7))
print(math.type(7))La división siempre produce un flotante
El operador de división normal / siempre produce un flotante, incluso cuando los números se dividen exactamente.
Por tanto, 10 / 2 da como resultado 5.0, no 5. Observe el .0 en la salida.
print(10 / 2)
print(math.type(10 / 2))División entera
Utilice el operador de división entera // cuando quiera obtener un resultado entero. Divide y redondea hacia abajo, en dirección al infinito negativo.
Si ambos operandos son enteros, el resultado es un entero.
print(7 // 2)
print(math.type(7 // 2))Los flotantes también pueden representar valores enteros
Un flotante también puede almacenar un número entero. 4.0 tiene el mismo valor que 4, pero su subtipo sigue siendo float.
Lua considera que 4 == 4.0 es true porque ambos tienen el mismo valor numérico.
print(4 == 4.0)
print(math.type(4.0))Conversión de flotante a entero
Puede convertir un flotante en un entero mediante math.tointeger(). Devuelve el entero si el flotante no tiene parte fraccionaria; de lo contrario, devuelve nil.
Esto resulta útil cuando una API necesita un entero auténtico.
print(math.tointeger(8.0))
print(math.tointeger(8.5))Notación científica
Lua permite escribir flotantes muy grandes o muy pequeños mediante notación científica con e.
1e3 significa 1 times 10 to the power 3, es decir, 1000.0. El resultado siempre es un flotante.
print(1e3)
print(2.5e-2)Límites de los enteros
Los enteros de Lua se almacenan en 64 bits, por lo que tienen un rango enorme, aunque finito. Las constantes math.maxinteger y math.mininteger muestran los límites.
Los flotantes pueden representar magnitudes mayores, pero pierden precisión exacta con los números enteros grandes.
print(math.maxinteger)
print(math.mininteger)Comprobación rápida
Compruebe lo que ha aprendido sobre enteros y flotantes.
Resumen
Ha aprendido que los números de Lua tienen dos subtipos: enteros (números completos) y flotantes (números de coma flotante).
Utilice math.type() para distinguirlos; / siempre produce un flotante y // puede mantener el resultado como entero. math.tointeger() realiza la conversión cuando es posible.
A continuación, explorará en profundidad los operadores aritméticos.
Preguntas frecuentes
¿La lección «Enteros y números en coma flotante» es gratis?
Sí — el texto completo de «Enteros y números en coma flotante» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de Lua Academy, actualiza a CoddyKit PRO. El curso de Lua Academy incluye 4 lecciones en total.
¿Qué aprenderé en «Enteros y números en coma flotante»?
Cómo representa Lua los números Practicas Lua Academy con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.
¿Necesito experiencia previa para empezar Lua Academy?
No se requiere experiencia previa. Lua Academy en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 1 de 4.
¿Cuánto tiempo toma la lección «Enteros y números en coma flotante»?
La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.
¿Puedo escribir y ejecutar código en esta lección de Lua Academy?
Sí. Cada lección de Lua Academy incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.
Todas las lecciones de este curso
- Enteros y números en coma flotante
- Operadores aritméticos
- La biblioteca math
- Formatear números