Python 小数点以下の桁数で四捨五入する「Decimal」

標準モジュールのdecimalをインポートして使用します。

from decimal import Decimal, ROUND_HALF_UP

pai = 3.141592

# 四捨五入して小数第3位までの数字にする(小数第4位を四捨五入)
a = Decimal(str(pai)).quantize(Decimal('0.001'), rounding=ROUND_HALF_UP)
print(a, type(a))

下図が出力結果です。小数第4位が5のため、小数第3位が1から2に繰り上がってます。

f:id:HK29:20211024232353p:plain

# 四捨五入して小数第2位までの数字にする(小数第3位を四捨五入)
b = Decimal(str(pai)).quantize(Decimal('0.01'), rounding=ROUND_HALF_UP)
print(b, type(b))

下図が出力結果です。小数第3位が1のため、小数第2位は4のままです。

f:id:HK29:20211024232428p:plain

# 演算
c = b - a
print(c, type(c))

計算もできます。型はdecimalです。

f:id:HK29:20211024232505p:plain

以上

<広告>