Các câu trả lời khác đã chỉ ra rằng việc biểu diễn các số nổi là một vấn đề hóc búa, ít nhất phải nói rằng.
Vì bạn không cung cấp đủ ngữ cảnh trong câu hỏi của mình, tôi không thể biết liệu mô-đun thập phân có thể hữu ích cho nhu cầu của bạn hay không:
http://docs.python.org/library/decimal.html
Trong số những thứ khác, bạn có thể chỉ định rõ ràng độ chính xác mà bạn muốn lấy (từ tài liệu):
>>> getcontext().prec = 6
>>> Decimal('3.0')
Decimal('3.0')
>>> Decimal('3.1415926535')
Decimal('3.1415926535')
>>> Decimal('3.1415926535') + Decimal('2.7182818285')
Decimal('5.85987')
>>> getcontext().rounding = ROUND_UP
>>> Decimal('3.1415926535') + Decimal('2.7182818285')
Decimal('5.85988')
Một ví dụ đơn giản từ lời nhắc của tôi (python 2.6):
>>> import decimal
>>> a = decimal.Decimal('10.000000001')
>>> a
Decimal('10.000000001')
>>> print a
10.000000001
>>> b = decimal.Decimal('10.00000000000000000000000000900000002')
>>> print b
10.00000000000000000000000000900000002
>>> print str(b)
10.00000000000000000000000000900000002
>>> len(str(b/decimal.Decimal('3.0')))
29
Có lẽ điều này có thể giúp đỡ? thập phân nằm trong python stdlib kể từ 2.4, với các bổ sung trong python 2.6.
Hy vọng điều này sẽ giúp, Francesco