Python|小数点以下の切り捨て:math.floor()

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の学習における一つのステップとして活用してみてください。

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