【ceil】Pythonで小数点を切り上げる方法を解説

Python

本記事では、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を使い分けましょう。

タイトルとURLをコピーしました