本記事では、Pythonのmathモジュールに含まれるceil関数の使い方を解説します。また、似た機能を持つ他の関数との違いも説明し、状況に応じた適切な選択をする役に立ちます。
ceil
Pythonのceil関数は、数値を小数点以下で切り上げて、最も近い整数にする関数です。 例えば、
- 4.1 → 5
- 4.9 → 5
- -3.2 → -3(負数では、0に近づく方向に丸められる)
構文
ceil関数はmathモジュールに含まれており、次の構文で使います。
math.ceil(x)
- xには切り上げしたい数値(intまたはfloat)を指定します。
- 返り値はintです。
例
実際の使い方は以下のようになります。
import math
print(math.ceil(3.2)) # 結果は4
print(math.ceil(5.9)) # 出力は6
print(math.ceil(-3.7)) # 出力は-3
ceilと似た機能を持つ関数
ceil関数に似た関数としては、以下があります。
関数名 | 説明 | 例 (2.3の場合) | 例 (-2.3の場合) |
---|---|---|---|
floor | 小数点以下を切り捨てる | 2 | -3 |
trunc | 小数点以下を削除(0に近づける) | 2 | -2 |
int | 整数に変換(小数部を削除) | 2 | -2 |
round | 四捨五入 (偶数方向に丸める) | 2 | -2 |
用途による使い分け
小数点を切り上げたい場合 → ceil
数値を次に大きい整数に切り上げたい場合はceil関数を使います。
import math
x = 4.2
result = math.ceil(x)
print(f"{x} → {result}") # 出力: 4.2 → 5
y = -2.7
result = math.ceil(y)
print(f"{y} → {result}") # 出力: -2.7 → -2
小数点を切り捨てたい場合 → floor または trunc
数値を次に小さい整数に切り捨てたい場合はfloor関数を使います。
import math
x = 4.2
result = math.floor(x)
print(f"{x} → {result}") # 出力: 4.2 → 4
y = -2.7
result = math.floor(y)
print(f"{y} → {result}") # 出力: -2.7 → -3
小数部分を単純に削除したい場合はtrunc関数を使います。
import math
x = 4.2
result = math.trunc(x)
print(f"{x} → {result}") # 出力: 4.2 → 4
y = -2.7
result = math.trunc(y)
print(f"{y} → {result}") # 出力: -2.7 → -2
負の数値で、0に向かって丸めたい場合 → int または trunc
0方向への丸めにはint関数やtrunc関数が適しています。
x = -2.7
result_int = int(x)
result_trunc = math.trunc(x)
print(f"int({x}) → {result_int}") # 出力: int(-2.7) → -2
print(f"trunc({x}) → {result_trunc}") # 出力: trunc(-2.7) → -2
四捨五入を行いたい場合 → round
四捨五入にはround関数を使います。
x = 4.5
result = round(x)
print(f"{x} → {result}") # 出力: 4.5 → 4(注:Python 3では偶数丸めを採用)
y = 4.51
result = round(y)
print(f"{y} → {result}") # 出力: 4.51 → 5
# 小数点以下の桁数を指定する場合
z = 3.14159
result = round(z, 2)
print(f"{z} → {result}") # 出力: 3.14159 → 3.14
まとめ
本記事では、Pythonのceil関数の使い方と特徴について解説しました。ceil関数は、数値を小数点以下で切り上げて次に大きい整数に変換する関数で、mathモジュールに含まれています。
ceil関数の主な特徴をまとめると:
- 小数点以下を切り上げて整数に変換する
- 正の数では次に大きい整数になる(例:4.1 → 5)
- 負の数では0方向に丸められる(例:-3.7 → -3)
- 返り値は常にint型
また、状況に応じた数値の丸め方の使い分けも重要です:
- 切り上げ(天井関数)→ ceil
- 切り捨て(床関数)→ floor
- 小数部分の削除(0方向への丸め)→ trunc、int
- 四捨五入→ round
用途に応じて、ceil、floor、trunc、int、roundを使い分けましょう。