decimalモジュール

実数の文字列を読み込んで数値にするとき、floatで変換すると丸め誤差が発生してしまうことに気づく。精度が要求される計算はこれまでPythonでやったことはなかったので、対処方法を初めて調べた。
decimalというのがある。→ http://www.python.jp/doc/2.5/lib/module-decimal.html

  • 使用例
>>> a="0.1234567890123456789"
>>> a
'0.1234567890123456789'
>>> b=float(a)
>>> from decimal import Decimal
>>> c=Decimal(a)
>>> print b
0.123456789012
>>> print c
0.1234567890123456789
>>>