Edited at

Pythonで小数点以下の計算結果

More than 1 year has passed since last update.


小数点以下の計算がおかしい

Pythonの小数点数は、「IEEE754 浮動小数点数」というルールを使っているらしい、、なので小数点の計算結果が以下な感じに・・・仕様です!

>>> 0.1 + 0.1 + 0.1

0.30000000000000004

正しい計算結果を返すには、Decimalモジュールを使う方法あるようです。小数点以下を「丸め誤差なし」での計算例になります↓

>>> from decimal import *

>>> Decimal('0.1') + Decimal('0.1') + Decimal('0.1')
Decimal('0.3')