lua-users home
lua-l archive

[Date Prev][Date Next][Thread Prev][Thread Next] [Date Index] [Thread Index]


Luís Santos <lsantos@itquality.com.br> writes:

> Hi folks,
>
> I have found a disturbing behaviour in the VM regarding floating point
> calculations.
>
> Code:
> n = 1000.2
> print(n - 1000)
> -- result: 0.20000000000005
>
> Is it a bug in the 5.1.2 release?

No.  1000.2 has no exact representation in base 2 floating point
numbers.

For that reason, financial calculations should be done in units of
cents or decicents, not dollars (insert your appropriate local
currency here).

-- 
David Kastrup