python中的decimal模块

python中的decimal模块

精确小数,因为float是不精确的,只是无限接近,对于一些需要精确小数点后位数的就需要用decimal

Decimal类型的优点

Decimal类型是在浮点类型的基础上设计的,但是它在几个地方上要优于floating point:

  1. Decimal类型可以非常精确地在计算机中存储,浮点型在计算机中是无法精确存储的,后面的小数会不精确,Decimal类型则不会出现这种情况。同样,由于无法精确存储,浮点型也就无法精确计算。

  2. Decimal类型会自动保留小数点后面不需要的0,以与输入的精度相匹配,比如:浮点型的1.20+1.30结果是2.5;而Decimal类型结果是2.50。

  3. Decimal类型可以根据需要自己设置小数点后精度。通过getcontext().prec = x (x为你想要的精度来设置)。

  4. Decimal类型有很强的管理功能,它能够根据需要设置,来控制输出的格式,得到或者忽略某类错误(如除0,可以设置忽略它,而得到一个Infinity的Decimal值)

你可能感兴趣的:(python,python,开发语言,后端)