Lua soutient les opérateurs arithmétiques habituels:
les binaires: + (addition), - (soustraction), * (multiplication), / (division), % (modulo), ^ (élévation) et l'unaire: - (négation).
Si les opérandes sont des chiffres (ou des chaînes de caractères qui peuvent être convertis en nombres), alors toutes les opérations ont le sens usuel.
Élévation, fonctionne pour tout exposant. Par exemple, x^(-0,5) calcule l'inverse de la racine carrée de x.
Modulo est défini comme suit: a % b == a - math.floor(a/b)*b
C'est le reste d'une division, qui arrondit le quotient vers moins l'infini.