【Python】割り算で小数部分を任意の桁数で丸める方法

この記事では、Pythonを使って小数の桁数を任意の桁数で丸める方法を紹介します。

round()関数やDecimalモジュール、mathモジュール、さらには自作関数を使って、小数を指定した桁数に丸める方法を解説します。

目次から探す

Pythonで小数の桁数を丸める方法

方法1: round()関数を使用する

Pythonの組み込み関数であるround()関数を使用することで、小数を任意の桁数で丸めることができます。

round()関数は第1引数に丸めたい小数を、第2引数に丸めたい桁数を指定します。

例えば、round(3.14159, 2)とすると、小数点以下2桁まで丸められた値が返されます。

num = 3.14159
rounded_num = round(num, 2)
print(rounded_num)  # 出力結果: 3.14

方法2: Decimalモジュールを使用する

Pythonのdecimalモジュールを使用すると、高い精度で小数を扱うことができます。

Decimalクラスを使用して小数を作成し、quantize()メソッドを使って任意の桁数で丸めることができます。

from decimal import Decimal, ROUND_HALF_UP

num = Decimal('3.14159')
rounded_num = num.quantize(Decimal('0.01'), rounding=ROUND_HALF_UP)
print(rounded_num)  # 出力結果: 3.14

方法3: mathモジュールを使用する

Pythonのmathモジュールを使用して小数を丸めることもできます。

math.floor()やmath.ceil()を使って切り捨てや切り上げを行い、必要に応じて桁数を調整します。

import math

num = 3.14159
rounded_num = math.floor(num * 100) / 100
print(rounded_num)  # 出力結果: 3.14

方法4: 自作関数を作成する

自分で丸めるための関数を作成することも可能です。

以下は、指定した桁数で四捨五入する関数の例です。

def custom_round(num, digits):
    factor = 10 ** digits
    return int(num * factor + 0.5) / factor

num = 3.14159
rounded_num = custom_round(num, 2)
print(rounded_num)  # 出力結果: 3.14

目次から探す