Python论坛  - 讨论区

标题:Python Cookbook 之 Decimal 数据类型简介

2014年03月31日 星期一 09:37

Python中的Decimal非常有意思,它最大的特点是:使用它来计算0.1+0.2会得到0.3。大家可能会问,这不很正常么? 大家可以用用Python内置的数据类型算一下0.1+0.2,结果应该是0.30000000000000004,呵呵。

Decimal号称:

computers must provide an arithmetic that works in the same way as the arithmetic that people learn at school.

示例代码如下:

from decimal import Decimal
a=Decimal('4.2')
b=Decimal('2.1')
print(a+b)
print(4.2+2.1)
print(a+b==Decimal('6.3'))
print(a+b==4.2+2.1)

from decimal import localcontext
a=Decimal('1.3')
b=Decimal('1.7')
print(a/b)
with localcontext() as ctx:
    ctx.prec=3
    print(a/b)
with localcontext() as ctx:
    ctx.prec=50
    print(a/b)

参考资料:

https://docs.python.org/3/library/decimal.html

如下红色区域有误,请重新填写。

    你的回复:

    请 登录 后回复。还没有在Zeuux哲思注册吗?现在 注册 !

    Zeuux © 2024

    京ICP备05028076号