Python中的十进制函数是什么?

Python中的十进制函数是什么?

对于十进制浮点算法,Python提供了decimal模块。这个模块本身有数百个函数,可以帮助高效地处理十进制计算。在这个主题中,我们将介绍重要的和最广泛使用的一些函数。

更多Python相关文章,请阅读:Python 教程

compare()

这个函数比较十进制数。如果第一个十进制参数大于第二个,则返回1;如果第一个十进制参数小于第二个,则返回-1;如果两个参数相等,则返回0。

示例

import decimal

val1 = decimal.Decimal(2.6)
val2 = decimal.Decimal(2.61)

#比较十进制数
print("结果是:",val1.compare(val2))

#重置数值
val1 = decimal.Decimal(2.6)
val2 = decimal.Decimal(-2.6)

#比较十进制数
print("结果是:",val1.compare(val2))

#重置数值
val1 = decimal.Decimal(2.6)
val2 = decimal.Decimal(2.6)

#比较十进制数
print("结果是:",val1.compare(val2))

输出

运行上述代码将给出以下结果−

结果是:-1
结果是:1
结果是:0

max()和min()

它们分别找出两个十进制数的最大值和最小值。

示例

import decimal

val1 = decimal.Decimal(2.6)
val2 = decimal.Decimal(2.61)

#比较十进制数
print("最大值是:",round(val1.max(val2),2))
print("最小值是:",round(val1.min(val2),2))

输出

运行上述代码将给出以下结果−

最大值是:2.61
最小值是:2.60

getcontext()

我们可以使用这个方法改变算术运算的精度。默认精度为28。在下面的例子中,我们进行了一个算术运算,其结果按照getcontext().prec设置的精度显示。

示例

from decimal import *
print(Decimal(13) / Decimal(7))

getcontext().prec = 6
print(Decimal(13) / Decimal(7))

getcontext().prec = 10
print(Decimal(13) / Decimal(7))

输出

运行上述代码将给出以下结果−

1.857142857142857142857142857
1.85714
1.857142857

exp()

返回给定数字的(自然)指数函数e**x的值。

示例

from decimal import *

#查找e
print(Decimal(1).exp())

#查找e的平方
print(Decimal(2).exp())

#查找e的4次方
print(Decimal(4).exp())

输出

运行上述代码将给出以下结果−

2.718281828459045235360287471
7.389056098930650227230427461
54.59815003314423907811026120

as_integer_ratio()

有时候我们需要整数,其除法给我们的小数保留到给定的十进制位数。我们可以通过使用as_integer_ratio()来获得这个值。

示例

from decimal import*

v = Decimal('2.1834').as_integer_ratio()
print(v)

v = Decimal('-1.92').as_integer_ratio()
print(v)

输出

运行上述代码将给出以下结果−

(10917, 5000)
(-48, 25)

ln()和log10()

我们可以使用这些函数计算自然对数(以e为底)以及基于10的对数。我们提供需要获取对数的十进制值。

示例

from decimal import *

ln_val = Decimal('2.1').ln()
print(ln_val)

log_val = Decimal('2.1').log10()
print(log_val)

输出

运行上述代码将给出以下结果−

0.7419373447293773124826065257
0.3222192947339192680072441618

fma(a,b)

这是一个被称为fused multiply and add的特殊函数。输入的小数将与第一个参数a相乘,然后将结果加到第二个参数b上。

示例

from decimal import *

# 与(2.1*2)+5相同
fma_val = Decimal(2.1).fma(2,5)
print(fma_val)

# 与(8.1*3)+5相同
fma_val = Decimal(8.1).fma(3,5)

print(fma_val)
re class="prettyprint notranslate" >

输出

运行上述代码将给出以下结果 −

9.200000000000000177635683940
29.29999999999999893418589636

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程