欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Python 标准类库-数字和数学模块之decimal使用简介

程序员文章站 2023-10-28 23:33:58
标准类库-数字和数学模块之decimal使用简介 by:授客 QQ:1033553122 例子 >>>from decimal import * >>>getcontext() Context(prec=28, rounding=ROUND_HALF_EVEN, Emin=-999999, Emax ......

标准类库-数字和数学模块之decimal使用简介

by:授客 qq1033553122

例子

>>>from decimal import *

>>>getcontext()

context(prec=28, rounding=round_half_even, emin=-999999, emax=999999, capitals=1, clamp=0, flags=[], traps=[invalidoperation, divisionbyzero, overflow])

 

>>>decimal('5')/3

decimal('1.666666666666666666666666667')

 

>>>getcontext().prec = 6 # 设置精度,即最大小数位数

 

>>>decimal('5')/3

decimal('1.66667')

>>>getcontext().prec = 2

>>>decimal('5')/3

decimal('1.7')

>>>decimal('5')/decimal(3)

decimal('1.7')

 

>>>decimal('3.14')

decimal('3.14')

 

>>>decimal('3.14') * decimal(0.5)

decimal('1.570')

 

>>>decimal('3.1415926535')

decimal('3.1415926535')

 

>>>decimal('nan')

decimal('nan')

 

>>>decimal('-infinity')

decimal('-infinity')

 

结论:当且仅当“计算结果”小数位数超过getcontext()设置的精度时,才会舍去超过精度部分的小数位数