from decimal import Decimal
# 例1: 丸める精度を指定して値を丸める
value = Decimal('3.14159')
rounded_value = value.quantize(Decimal('0.00'))
print(rounded_value) # 結果: 3.14
# 例2: 整数値に丸める
value = Decimal('3.14159')
rounded_value = value.quantize(Decimal('1'))
print(rounded_value) # 結果: 3
# 例3: 四捨五入に丸める
value = Decimal('3.14159')
rounded_value = value.quantize(Decimal('1'), rounding='ROUND_HALF_UP')
print(rounded_value) # 結果: 3
# 例4: 無効な丸めモードを指定するとエラーが発生する
value = Decimal('3.14159')
rounded_value = value.quantize(Decimal('1'), rounding='INVALID_MODE') # エラー: InvalidOperation
上記の例では、Decimal
クラスのインスタンスに対してquantize()メソッドを呼び出しています。第一引数には、丸める精度を表すDecimalオブジェクトが指定されます。この精度は、整数部と小数部の桁数を指定します。第二引数として、丸めモードを指定することもできます。デフォルトでは、ROUND_HALF_EVEN
が使用され、四捨五入が行われます。
quantize()メソッドを使用することで、浮動小数点数の値を指定した精度で丸めることができます。これは、金額計算や科学的な計算などで正確な結果を得るために役立ちます。
この例は、quantize()メソッドの基本的な使用方法を示していますが、実際の使用場面に応じて精度や丸めモードを適切に設定する必要があります。また、quantize()メソッドはDecimalオブジェクトに対してのみ使用できますので、注意が必要です。