python中的小数类型

python中有专门的小数类型,区别与浮点型,小数类型有指定的小数位数,比较适合拿来作价格相关的类型。

>>> import decimal

>>> decimal.Decimal(1.0)+decimal.Decimal(-1.0) 

Decimal(0.0)   # 不会出现浮点数那种算不出0 的情况

decimal模块还可以指定当前上下文中(当前模块)的小数类型的位数

>>> import decimal

>>> decimal.getcontext().prec = 4

>>> decimal.Decimal(1) / decimal.Decimal(7)

Decimal('0.1429')

配合上下文管理器使用

>>> import decimal

>>> decimal.Decimal('1.00') / decimal.Decimal('3.00')

Decimal('0.3333333333333333333333333333')

>>> with decimal.localcontext() as  ctx:

                ctx.prec = 2

                decimal.Decimal('1.00') / decimal.Decimal('3.00')

Decimal('0.33')

>>> decimal.Decimal('1.00') / decimal.Decimal('3.00')

Decimal('0.3333333333333333333333333333')

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容