この記事では、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