Python math.floor() 方法



Python 的 math.floor() 方法用於計算不大於指定數字的最近值。例如,浮點數 2.3 的下取整值為 2。

這個過程與估算或四捨五入技術非常相似。區別在於 2.3 的下取整值為 2,但 2.9 的下取整值也是 2;不像估算技術那樣將 2.9 四捨五入為 3 而不是 2。

注意 - 此函式無法直接訪問,因此我們需要匯入 math 模組,然後使用 math 靜態物件呼叫此函式。

語法

以下是 Python math.floor() 方法的語法:

math.floor( x )

引數

  • x - 這是一個數值物件。

返回值

此方法返回小於 x 的最大整數。

示例

以下示例演示了 Python math.floor() 方法的用法。在這裡,我們建立了兩個帶有正值和負值的數值物件,並使用此方法計算這兩個物件的向下取整值。

import math   # This will import math module

# Create two numeric objects x and y
x = 56.17
y = -33.89

# Calculate and display the floor value of x
res = math.floor(x)
print("The floor value of x:", res)

# Calculate and display the floor value of y
res = math.floor(y)
print("The floor value of y:", res)

執行上述程式時,會產生以下結果:

The floor value of x: 56
The floor value of y: -34

示例

但是,此方法不會接受數值物件以外的任何值作為其引數。

在這個例子中,讓我們嘗試將包含數值物件的列表作為引數傳遞給此方法,並檢查它是否為所有物件計算向下取整值。

import math   # This will import math module

# Create a list containing numeric objects
x = [15.36, 56.45, 76.33, 6.04]

# Calculate the floor value for the list
res = math.floor(x)
print("The floor value of x:", res)

執行上面的程式時,會引發以下 TypeError:

Traceback (most recent call last):
  File "main.py", line 7, in 
res = math.floor(x)
TypeError: must be real number, not list

示例

要使用此方法返回列表中數值物件的向下取整值,可以使用迴圈語句。

我們正在建立一個包含數字物件的列表,其向下取整的值將使用 floor() 方法計算。然後,我們嘗試使用 for 迴圈迭代此列表;並且在每次迭代中,將數字物件作為引數傳遞給此方法。由於列表中的物件都是數字,因此該方法不會引發錯誤。

import math   # This will import math module

# Create a list containing numeric objects
x = [15.36, 56.45, 76.33, 6.04]
ln = len(x)

# Calculate the floor value for the list
for n in range (0, ln):
   res = math.floor(x[n])
   print("The floor value of x[",n,"]:", res)

現在讓我們執行給定的程式,結果顯示如下:

The floor value of x[ 0 ]: 15
The floor value of x[ 1 ]: 56
The floor value of x[ 2 ]: 76
The floor value of x[ 3 ]: 6

示例

我們可以將此函式應用於許多 Python 的實際應用場景。

例如,我們可以嘗試檢索分數的整數部分和小數部分。為此,我們建立一個具有浮點值的數字物件。將此物件作為引數傳遞給 floor() 方法以檢索此數字的整數部分;而使用 1 計算此數字的模則可以檢索其小數部分。

import math   # This will import math module

# Create a float object
x = 123.65

# Using floor() method, retrieve its integer part
int_part = math.floor(x)

# Calculate the modulus of x by 1 to retrieve the decimal part
dec_part = x % 1

# Display the results
print("The integer part of x is:", int_part)
print("The decimal part of x is:", dec_part)

執行上述程式後,結果如下:

The integer part of x is: 123
The decimal part of x is: 0.6500000000000057
python_maths.htm
廣告