3-5. Pythonのdecimalモジュール


1. decimalモジュールとは?

Pythonではdecimalモジュールがあらかじめインストールされています。
decimalモジュールは浮動点小数点が扱えるモジュールです。

floatよりも厳密に小数の計算をすることができるので、金融関連のシステムではdecimalが使われます。


2. decimalモジュールの使い方

decimalモジュールを使う時は、以下のインポート文を書く必要があります。

from decimal import Decimal


10進数の浮動小数点の値を、以下のようにDecimal(‘<数値>’)として扱うことができます。

from decimal import Decimal

print(Decimal('0.1'))
>> 0.1


浮動小数点数型のページで記載したとおり、float型は精度が十分ではないですが、Decimalは以下のように、厳密な計算ができます。

from decimal import Decimal

x_decimal = Decimal('0.1')
x_float = 0.1

print(x_decimal + x_decimal + x_decimal)
>> 0.3

print(x_float + x_float + x_float)
>> 0.30000000000000004

3. decimalの有効数字

decimalで有効数字桁数を表わすことができます。
末尾に 0 をつけると、その桁数までが有効桁数だと表せます。

from decimal import Decimal

print(Decimal('0.0400') + Decimal('0.1000'))
>> 0.1400


このエントリーをはてなブックマークに追加