1. はじめに
Pythonで数値処理をしていると、「小数点以下を切り捨てたい」と思う場面がよくあります。そんなときに役立つのが、math.floor() 関数です。
この記事では、「Python|小数点以下の切り捨て:math.floor()」というテーマで、関数の基本的な使い方から、実務でも役立つ応用方法、注意点まで、初心者にもわかりやすく丁寧に解説します。
独学でPythonを学んでいる方や、具体的なコード例を探している方は、ぜひ最後までご覧ください。
2. Pythonのmath.floor()関数とは?
math.floor()の基本的な概要
math.floor()
は、指定された数値の小数点以下を切り捨てて、最も近い小さい整数を返す関数です。
この関数を使うには、Pythonの標準ライブラリである math
モジュールをインポートする必要があります。
基本的な使い方
import math
# 小数点以下を切り捨てる
num = 3.7
result = math.floor(num)
print(result)
実行結果:
3
このように、3.7 は切り捨てられて 3 になります。
負の数に対する動作
負の小数を切り捨てる場合、math.floor()
はより小さい整数へと丸めます。
import math
num = -2.3
result = math.floor(num)
print(result)
実行結果:
-3
注意:「切り捨て」という言葉から「-2」になると誤解されがちですが、math.floor()
は「小さい方向に切り捨て」なので、-3 になります。
3. よくある使い方・応用例
小数を整数に変換する場合
例えば、商品の価格を整数に丸めるときに、あえて切り捨てたいケースがあります。
import math
price = 999.99
rounded_price = math.floor(price)
print(f"税込価格(切り捨て):{rounded_price}円")
実行結果:
税込価格(切り捨て):999円
ランダムな数値を処理して整数に丸める
ランダムな小数を生成し、それを整数として扱いたい場合もあります。
import math
import random
# 0〜10の小数をランダムに生成
value = random.uniform(0, 10)
print(f"元の値:{value}")
# 切り捨て
floored_value = math.floor(value)
print(f"切り捨て後の値:{floored_value}")
実行結果(例):
元の値:6.7823872
切り捨て後の値:6
リスト内の値を一括で切り捨て
複数の値を一括で切り捨てるには、リスト内包表記が便利です。
import math
data = [1.1, 2.5, 3.9, -1.2, -4.8]
floored = [math.floor(x) for x in data]
print(floored)
実行結果:
[1, 2, 3, -2, -5]
4. 注意点・エラー対策
mathモジュールのインポートを忘れずに
math.floor()
を使うには、必ず import math
が必要です。忘れると以下のようなエラーが出ます。
エラー例:
NameError: name 'math' is not defined
int()との違いに注意
int()
でも小数点以下を削除できますが、math.floor()
との動作は異なります。
print(int(-2.9)) # -2 を返す
print(math.floor(-2.9)) # -3 を返す
実行結果:
-2
-3
int() は「0方向に切り捨て」、math.floor() は「負方向に切り捨て」なので、この違いに注意しましょう。
5. まとめ
math.floor()
は、小数点以下を切り捨てて最も小さい整数を返す関数。- 負の値に対しては、思っているよりも小さい値になる点に注意。
int()
との挙動の違いも知っておくと、意図しないバグを防げる。
数値の丸め処理は、日常のデータ処理・価格調整・ゲーム開発・数値解析など、さまざまな場面で活躍します。math.floor() を正しく理解し、適切に使うことで、実務でのコード品質も向上します。
ぜひ、Pythonの学習における一つのステップとして活用してみてください。