编程语言有各种类型的数据来处理数字信息。整数(int)、实数(float)类型和Python支持其他类型,例如分数和复数。
然而,今天我想谈谈十进制类型。浮点或浮点有几个精度问题,这些问题在某些类型的应用程序中是无法容忍的,例如与金融有关的应用程序。
让我们看一个非常简单的案例:
from decimal import Decimal 1.0 == 0.999999999999999999 # True Decimal("1.0") == Decimal("0.999999999999999999") # False
在十进制类上扩展,有 py-money 模块,可以将美元或 COP 等货币添加到数字中,从而允许需要它具有所需精度的应用程序。
当然,计算机上不可能有无限的精度。但是,小数模数可以根据需要设置为尽可能高的精度:
print(getcontext().prec) # outpus 28 by default
在开发金融应用程序时,我经常使用decimal模块以及py-money库。它得到了 django 和其他框架的正确支持。
以上是python 小数模块的详细内容。更多信息请关注PHP中文网其他相关文章!