Jawaban lain sudah menunjukkan bahwa representasi bilangan mengambang adalah masalah yang pelik.
Karena Anda tidak memberikan konteks yang cukup dalam pertanyaan Anda, saya tidak dapat mengetahui apakah modul desimal dapat berguna untuk kebutuhan Anda:
http://docs.python.org/library/decimal.html
Di antara hal-hal lain Anda dapat secara eksplisit menentukan presisi yang ingin Anda peroleh (dari dokumen):
>>> 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')
Contoh sederhana dari prompt saya (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
Mungkin ini bisa membantu? desimal ada di python stdlib sejak 2.4, dengan tambahan di python 2.6.
Semoga ini bisa membantu, Francesco