Python学习笔记——数字
数字
int
11 #int
float
1.12 #float
#浮点数的问题
print(0.1+0.1+0.1-0.3) #5.551115123125783e-17
Decimal 十进制浮点数
1.构造法
from Decimal import *
Decimal(123)
Decimal('12.123') #Decimal()构造中小数需要加上单引号,整数不需要。
#为何小数要加上单引号原因如下
print(Decimal(0.1)) #0.1000000000000000055511151231257827021181583404541015625
print(Decimal('0.1')) #0.1
print(Decimal('0.1')+Decimal('0.1')+Decimal('0.1')-Decimal('0.3')) #0.0
2.从浮点数据转换为Decimal类型
from decimal import *
Decimal.from_float(12.222)
3.设定有效数字,结果四舍五入
用getcontext()函数得到当前运算环境的参数,如直接打印 print (get context())
用getcontext().prec设置有效数字
from decimal import *
getcontext().prec = 6
Decimal(1)/Decimal(7) #Decimal('0.142857')
4.运算过程精确而结果保留几位小数
from decimal import *
#默认ROUND_HALF_EVEN,可以通过getcontext查看