Programming in Lua - 2.3
Programming in Lua - 2.3
Programming in Lua
Part I. The Language
Chapter 2. Types and Values
2.3 – Numbers
The number type represents real
(double-precision floating-point) numbers.
Lua has no integer type, as it does not need it.
There is a widespread
misconception about
floating-point arithmetic errors
and some people fear
that even a simple increment can go weird with
floating-point numbers.
The
fact is that,
when you use a double to represent an integer,
there is no
rounding error at all
(unless the number is greater than 100,000,000,000,000).
Specifically, a Lua number can represent any long integer
without rounding
problems.
Moreover, most modern CPUs do floating-point arithmetic as fast as
(or even faster than) integer arithmetic.