Pythonで四捨五入・切り上げ・切り捨て(round, math.ceil, math.floor)
この記事では、Pythonで数値の丸め処理を行う`round()`関数、`math.ceil()`関数、`math.floor()`関数の使用方法を解説します。それぞれの関数の違いと具体的な使用方法をサンプルコード付きで説明します。
目次
round() 関数による四捨五入
Pythonの組み込み関数`round()`は、数値を四捨五入します。引数に数値を一つ指定すると、最も近い整数に丸められます。
print(round(1.4)) # 出力: 1
print(round(1.5)) # 出力: 2
print(round(1.6)) # 出力: 2
print(round(-1.4)) # 出力: -1
print(round(-1.5)) # 出力: -2
print(round(-1.6)) # 出力: -2
.5 は偶数方向に丸められます。例えば、round(1.5) は 2、round(2.5) は 2 となります。
math.ceil() 関数による切り上げ
`math.ceil()`関数は、数値を切り上げます。つまり、数値以上の最小の整数に変換します。
import math
print(math.ceil(1.4)) # 出力: 2
print(math.ceil(1.5)) # 出力: 2
print(math.ceil(1.6)) # 出力: 2
print(math.ceil(-1.4)) # 出力: -1
print(math.ceil(-1.5)) # 出力: -1
print(math.ceil(-1.6)) # 出力: -1
math.floor() 関数による切り捨て
`math.floor()`関数は、数値を切り捨てます。つまり、数値以下の最大の整数に変換します。
import math
print(math.floor(1.4)) # 出力: 1
print(math.floor(1.5)) # 出力: 1
print(math.floor(1.6)) # 出力: 1
print(math.floor(-1.4)) # 出力: -2
print(math.floor(-1.5)) # 出力: -2
print(math.floor(-1.6)) # 出力: -2
小数点以下の桁数を指定した丸め処理
round()関数は、第2引数に小数点以下の桁数を指定することで、小数点以下を指定した桁数で四捨五入できます。
print(round(1.2345, 2)) # 出力: 1.23
print(round(1.2345, 3)) # 出力: 1.235
print(round(1.2345, 0)) # 出力: 1.0
print(round(1.2345, -1)) # 出力: 0.0
第2引数に0を指定すると、整数に丸められます。負の数を指定すると、整数部分が丸められます。
負の数の丸め処理
負の数の丸め処理は、正の数とは少し異なる挙動をします。`round()`関数は、.5 の場合は偶数方向に丸められます。`math.ceil()`と`math.floor()`は、それぞれ切り上げと切り捨てを行います。
print(round(-1.5)) # 出力: -2
print(math.ceil(-1.5)) # 出力: -1
print(math.floor(-1.5)) # 出力: -2