คำตอบอื่น ๆ ได้ชี้ให้เห็นแล้วว่าการเป็นตัวแทนของตัวเลขลอยตัวเป็นปัญหาที่มีความเสี่ยง
เนื่องจากคุณให้บริบทไม่เพียงพอในคำถามของคุณฉันจึงไม่สามารถทราบได้ว่าโมดูลทศนิยมจะมีประโยชน์สำหรับความต้องการของคุณหรือไม่
http://docs.python.org/library/decimal.html
เหนือสิ่งอื่นใดคุณสามารถระบุความแม่นยำที่คุณต้องการได้รับอย่างชัดเจน (จากเอกสาร):
>>> 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')
ตัวอย่างง่ายๆจากพรอมต์ของฉัน (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
อาจจะช่วยได้? ทศนิยมอยู่ใน python stdlib ตั้งแต่ 2.4 โดยมีการเพิ่มใน python 2.6
หวังว่านี่จะช่วยได้ Francesco