Pythonのfloor()関数とceil()関数の使い方を徹底解説
Pythonには、小数を含む数値から最も近い整数値を取得するための便利な関数が用意されています。それがmathモジュールに含まれる floor() と ceil() の2つの関数です。この記事では、それぞれの関数の動作や構文、具体的な使用例をわかりやすく解説します。
floor()関数とは
floor() 関数は、引数として受け取った数値に対して、その数値以下で最大の整数(切り下げた値)を返します。正の数の場合は単純な切り捨てと同じ結果になりますが、負の数の場合はより小さい側の整数へ丸められる点に注意が必要です。
構文
構文: floor(x) ※xは数値
floor()の使用例
以下の例では、整数・正の小数・負の小数といった異なる種類の数値に対して floor() 関数を適用し、その結果を確認しています。いずれの場合も、指定した数値以下で最も近い整数が返されます。
import math
x,y,z = 21 , -23.6 , 14.2
print("The value of ",x, "on applying floor() function is:", math.floor(x))
print("The value of ",y, "on applying floor() function is:", math.floor(y))
print("The value of ",z, "on applying floor() function is:", math.floor(z))
実行結果
上記のコードを実行すると、次のような結果が出力されます。
The value of 21 on applying floor() function is: 21 The value of -23.6 on applying floor() function is: -24 The value of 14.2 on applying floor() function is: 14
この結果から、-23.6 に対しては -24 が返されていることがわかります。つまり floor() は「0に近づける」のではなく、「常に小さい方向へ丸める」動作をするのです。
ceil()関数とは
ceil() 関数は、引数として受け取った数値に対して、その数値以上で最小の整数(切り上げた値)を返します。floor() とは逆に、大きい方向へ丸められるのが特徴です。
構文
構文: ceil(x) ※xは数値
ceil()の使用例
こちらも同様に、整数・正の小数・負の小数など異なる種類の数値に対して ceil() 関数を適用してみます。指定した数値以上で最も近い整数が返されます。
import math
x,y,z = 21 , -23.6 , 14.2
print("The value of ",x, "on applying ceil() function is:", math.ceil(x))
print("The value of ",y, "on applying ceil() function is:", math.ceil(y))
print("The value of ",z, "on applying ceil() function is:", math.ceil(z))
実行結果
上記のコードを実行すると、次のような結果が出力されます。
The value of 21 on applying ceil() function is: 21 The value of -23.6 on applying ceil() function is: -23 The value of 14.2 on applying ceil() function is: 15
-23.6 に対しては -23 が返されています。これは ceil() が常に大きい方向へ丸めるためです。
まとめ
floor() と ceil() は、どちらもPythonの math モジュールで提供される丸め処理用の関数です。
- floor(x): x以下の最大の整数を返す(切り下げ)
- ceil(x): x以上の最小の整数を返す(切り上げ)
なお、Python 3では両関数とも戻り値が int 型になるため、計算後の型変換を意識する必要がないのも利点です。金額計算やページネーション、配列の分割など、整数単位での処理が必要な場面でぜひ活用してください。
-
Pythonのissubset()関数とは?部分集合の判定方法を実例付きで解説
本記事では、Python標準ライブラリに用意されているissubset()関数の仕組みと使い方について詳しく解説します。 issubset()メソッドは、あるセット(集合)のすべての要素が、引数として渡した別のセットにも含まれている場合にブール値のTrueを返し、1つでも含まれていない要素があればFalseを返します。 下の図では、BはAの部分集合です。もしAとBが同一のセットであれば、両者は互いに部分集合の関係にあるといえます。つまり、両方のセットがまったく同じ要素を持っているということを意味します。 構文 <set 1>.issubset(<set 2>) 戻り値
-
Pythonのintersection()関数とは?集合の共通要素(積集合)を求める方法
この記事では、Pythonのセット(集合)に対して実行できるintersection()関数について詳しく解説します。数学における「積集合(インターセクション)」とは、2つの集合から共通する要素を見つけ出すことを指します。構文<セット名>.intersection(<セットa1>, <セットa2>, …)戻り値引数として渡されたすべての集合に共通する要素(積集合)が、新しいセットとして返されます。使用例set_1 = {t,u,t,o,r,i,a,l} set_2 = {p,o,i,n,t} set_3 = {t,u,t} # 2つの集合の積集合 print