PHP前端开发

python 小数模块

百变鹏仔 4天前 #Python
文章标签 小数

编程语言有各种类型的数据来处理数字信息。整数(int)、实数(float)类型和python支持其他类型,例如分数和复数。

然而,今天我想谈谈十进制类型。浮点或浮点有几个精度问题,这些问题在某些类型的应用程序中是无法容忍的,例如与金融有关的应用程序。

让我们看一个非常简单的案例:

from decimal import decimal1.0 == 0.999999999999999999  # truedecimal("1.0") == decimal("0.999999999999999999") # false

在十进制类上扩展,有 py-money 模块,可以将美元或 cop 等货币添加到数字中,从而允许需要它具有所需精度的应用程序。

当然,计算机上不可能有无限的精度。但是,小数模数可以根据需要设置为尽可能高的精度:

print(getcontext().prec)  # outpus 28 by default

在开发金融应用程序时,我经常使用decimal模块以及py-money库。它得到了 django 和其他框架的正确支持。

立即学习“Python免费学习笔记(深入)”;