在写一个数据平台的时候,发现须要进行经过率的统计,因此不可避免的出现小数的状况。至此,会出现无限小数,那么如何进行取舍呢?html
能够使用decimal模块,decimal意思为十进制,这个模块提供了十进制浮点运算支持。orm
经常使用方法htm
1.能够传递给Decimal整型或者字符串参数,但不能是浮点数据,由于浮点数据自己就不许确。blog
2.要从浮点数据转换为Decimal类型ci
from decimal import *字符串
Decimal.from_float(12.222)get
# 结果为Decimal('12.2219999999999995310417943983338773250579833984375')string
3.经过设定有效数字,限定结果样式:io
from decimal import *form
getcontext().prec=6
Decimal(1)/Decimal(7)
# 结果为Decimal('0.142857'),六个有效数字
4.四舍五入,保留几位小数
from decimal import *
Decimal('50.5679').quantize(Decimal('0.00'))
# 结果为Decimal('50.57'),结果四舍五入保留了两位小数
5.Decimal 结果转化为string
from decimal import *
str(Decimal('3.40').quantize(Decimal('0.0')))
# 结果为'3.40',字符串类型
参考: