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
广告