前言
Python提供了几个常用的函数可以用于对数值进行近似处理,包括round、math.floor和math.ceil。这些函数可以对数值进行四舍五入、向下取整和向上取整。
注意: 当需要进行精确计算而不希望出现浮点数误差时,可以使用Python的decimal模块。该模块提供了高精度的十进制数值操作。
1. round函数
round函数用于对数值进行四舍五入处理,返回最接近的整数或指定小数位数的近似值。我们利用以下示例进行展示,#后为输出结果:
num1 = 3.14159
num2 = 2.71828
print(round(num1)) # 3
print(round(num1, 2)) # 3.14
print(round(num2)) # 3
print(round(num2, 3)) # 2.718
此外,round函数也可以对整数部分进行近似处理。具体地,需要利用ndigits参数,其中ndigits的值为负数表示从小数点向左数的位数:
round(2138.567, -1) # 2140.0
round(2134.789, -2) # 2100.0
2. math.floor函数
math.floor函数用于向下取整,返回不大于给定数值的最大整数。floor就是地板的意思,因此是向下。具体的示例如下所示:
import math
num1 = 3.14159
num2 = 2.71828
num3 = -3.5
print(math.floor(num1)) # 3
print(math.floor(num2)) # 2
print(math.floor(num3)) # -4
3. math.ceil函数
math.ceil函数用于向上取整,返回不小于给定数值的最小整数。ceil就是天花板的意思,因此是向上。具体的示例如下所示:
import math
num1 = 3.14159
num2 = 2.71828
num3 = -3.5
print(math.ceil(num1)) # 4
print(math.ceil(num2)) # 3
print(math.ceil(num3)) # -3
4. Decimal函数
Decimal函数用于创建一个十进制数对象,返回一个Decimal对象。具体的示例如下所示:
from decimal import Decimal
num1 = Decimal(3.14159)
num2 = Decimal('2.71828')
print(num1) # 3.14159
print(num2) # 2.71828
我们可以看到Decimal函数可以接受更多类型的输入,比如字符串。