Pythonには、数値を四捨五入するための組み込み関数であるround関数があります。この関数を使えば、小数点以下の桁数を指定して、数値を四捨五入できます。この記事では、Pythonのround関数を使って、小数点以下の桁数を指定した四捨五入の方法について説明します。
round(FLOAT, DIGIT)
下記の様な内容で悩んでいる/困っている場合に使える方法を参考までにご共有させて頂きます。
・Pythonでは、どの様に四捨五入するの?
・Pythonのround関数は、どの様に使うのだろうか?
round関数の使い方
round関数は、引数に数値を指定します。また、第2引数に小数点以下の桁数を指定することができます。下の例では、変数xに小数値3.141592を代入し、round関数を使って、小数点以下2桁に四捨五入した結果を変数yに代入しています。そして、print関数を使って、変数yの値を出力しています。
x = 3.141592
y = round(x, 2)
print(y) # 3.14
第2引数を指定しなかった場合は、小数点一桁で四捨五入を行い、以下の様にint型の数字が出力されます。
x = 3.141592
y = round(x)
print(y) # 3
第2引数に「0」を指定した場合は、上記の指定しなかった場合と同様に小数点一桁で四捨五入を行いますが、以下の様にint型の数値ではなく、float型の数値が出力されます。
x = 3.141592
y = round(x,0)
print(y) # 3.0
またround関数の第2引数は、負の値を扱うこともできます。その場合、整数箇所で四捨五入が行われるため、以下の様になります。
x = 12345.6789
y = round(x,-2)
print(y) # 12300.0
round関数の第2引数の違いによる出力結果の違いをまとめると以下の様になります。
x = 55555.5555
y1 = round(x)
y2 = round(x,0)
y3 = round(x,2)
y4 = round(x, -2)
y5 = round(x, -5)
y6 = round(x, -10)
print(y1) # 55556
print(y2) # 55556.0
print(y3) # 55555.56
print(y4) # 55600.0
print(y5) # 100000.0
print(y6) # 0.0
おまけ1:decimalモジュールによる四捨五入
Pythonで四捨五入したい場合、decimalモジュールを使用する方法もございます。
import decimal
x = decimal.Decimal('3.141592')
y = x.quantize(decimal.Decimal('0.01'), rounding=decimal.ROUND_HALF_UP)
print(y) # 3.14
また、decimalモジュールは四捨五入だけでなく、切り上げおよび切り捨てする事もできます。
import decimal
x1 = decimal.Decimal('0.5')
x2 = decimal.Decimal('0.4')
y11 = x1.quantize(decimal.Decimal('1'), rounding=decimal.ROUND_HALF_UP) ### 四捨五入
y12 = x2.quantize(decimal.Decimal('1'), rounding=decimal.ROUND_HALF_UP) ### 四捨五入
y21 = x1.quantize(decimal.Decimal('1'), rounding=decimal.ROUND_UP) ### 切り上げ
y22 = x2.quantize(decimal.Decimal('1'), rounding=decimal.ROUND_UP) ### 切り上げ
y31 = x1.quantize(decimal.Decimal('1'), rounding=decimal.ROUND_DOWN) ### 切り捨て
y32 = x2.quantize(decimal.Decimal('1'), rounding=decimal.ROUND_DOWN) ### 切り捨て
print(y11) ### 「0.5」の四捨五入 → 1
print(y12) ### 「0.4」の四捨五入 → 0
print(y21) ### 「0.5」の切り上げ → 1
print(y22) ### 「0.4」の切り上げ → 1
print(y31) ### 「0.5」の切り捨て → 0
print(y32) ### 「0.4」の切り捨て → 0
まとめ
以上のように、Pythonのround関数を使えば、簡単に数値を四捨五入することができます。round関数を使う際には、小数点以下の桁数を指定することによって、必要な精度で四捨五入できることを覚えておきましょう。Pythonのround関数を使って、正確な計算を行いましょう。
関連検索ワード
How to use python “round” function?
関連キーワード
python, 入門, 使い方, 初心者, round, 四捨五入