数値の切り上げ・切り捨て

数値の切り上げ・切り捨て

数値の切り上げ

math.ceil()関数

 math.ceil(x) は x 以上の最小の整数を返す関数です。すなわち数値 x を切り上げます。引数が負のときは 0 に近いほうの整数が返ります。

# math.ceil()関数のサンプルコード

import math

# 1.5を切り上げ
a = math.ceil(1.5)

# -4.5を切り上げ
b = math.ceil(-4.5)

print("ceil(1.5) ⇒", a)
print("ceil(-4.5) ⇒", b)
ceil(1.5) ⇒ 2
ceil(-4.5) ⇒ -4

 math.ceil(x) は数学で $\lceil x \rceil$ という記号で表される天井関数 (ceil function) です。
 

numpy.ceil()関数

 numpy.ceil() に数値を渡すと、x 以上の最小の整数を返します(数値 x を切り上げます)。引数が負のときは 0 に近いほうの整数を返します。配列を渡した場合は要素をすべて切り上げます。

# numpy.ceil()関数のサンプルコード

import numpy as np

x = np.array([10.5, -13.5])

# xの各要素を切り上げ
y = np.ceil(x)

print("ceil([10.5, -13.5]) ⇒", y)
ceil([10.5, -13.5]) ⇒ [11. -13.]

 

数値の切り捨て

math.floor()関数

 math.floor(x) は x 以上の最大の整数を返します。すなわち引数 x を切り捨てます。引数が負のときは 0 から遠いほうの整数が返ります。

# math.floor()関数のサンプルコード

import math

# 3.8を切り捨て
a = math.floor(3.8)

# -7.6を切り捨て
b = math.floor(-7.6)

print("math.floor(3.8) ⇒", a)
print("math.floor(-7.6) ⇒", b)
math.floor(3.8) ⇒ 3
math.floor(-7.6) ⇒ -8

 math.floor(x) は数学で $\lfloor x \rfloor$ という記号で表される床関数 (ceil function) です。
 

numpy.floor()関数

 numpy.floor() に数値を渡すと、x 以上の最大の整数を返します。すなわち数値 x を切り捨てます。引数が負のときは 0 から遠いほうの整数を返します。引数として配列を渡した場合は、要素をすべて切り捨てます。

# numpy.floor()関数のサンプルコード

import numpy as np

x = np.array([10.5, -13.5])

# xの各要素を切り捨て
y = np.floor(x)

print("floor([10.5, -13.5]) =", y)
floor([10.5, -13.5]) = [10. -14.]

 

math.trunc()関数

 math.trunc() は渡された数値の小数部分を捨てて整数部分を取得する関数です。戻り値は必ず整数となります。たとえば 10.0 のような浮動小数点数が渡されると整数 10 が返ります。

# math.trunc()関数のサンプルコード

import math

# 数値の整数部分を取得
a = math.trunc(3.14)
b = math.trunc(-3.14)
c = math.trunc(10.0)

print("math.trunc(3.14) ⇒", a)
print("math.trunc(-3.14) ⇒", b)
print("math.trunc(10.0) ⇒", c)
math.trunc(3.14) ⇒ 3
math.trunc(-3.14) ⇒ -3
math.trunc(10.0) ⇒ 10