python
:>>> 1.1
1.1000000000000001
>>> 1.1+1.1
2.2000000000000002
No caso dos bancos de dados, por exemplo, o armazenamento desses números serial feito com o tipo
DECIMAL
ao NUMERIC
, ao invés do float
. Um exemplo de uso seria aplicações financeiras.No Python 2.4 um novo tipo de dados foi adicionado, o
Decimal
, que permite a representação desses números de forma exata. Um exemplo!Python 2.5.1 (r251:54863, Mar 7 2008, 03:39:23)
[GCC 4.1.3 20070929 (prerelease) (Ubuntu 4.1.2-16ubuntu2)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import decimal
>>> decimal.Decimal("1.1")
Decimal("1.1")
>>> a = decimal.Decimal("1.1")
>>> a+a
Decimal("2.2")
>>> print(a+a)
2.2
>>>
Você pode ler mais sobre isso em http://www.python.org/doc/2.4.3/whatsnew/node9.html.