Andere Antworten wiesen bereits darauf hin, dass die Darstellung von schwebenden Zahlen, gelinde gesagt, ein heikles Thema ist.
Da Sie in Ihrer Frage nicht genügend Kontext angeben, kann ich nicht wissen, ob das Dezimalmodul für Ihre Anforderungen nützlich sein kann:
http://docs.python.org/library/decimal.html
Unter anderem können Sie die Genauigkeit, die Sie erhalten möchten (aus den Dokumenten), explizit angeben:
>>> 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')
Ein einfaches Beispiel aus meiner Eingabeaufforderung (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
Vielleicht kann das helfen? Dezimal ist in Python stdlib seit 2.4, mit Ergänzungen in Python 2.6.
Hoffe das hilft, Francesco