decimal

 

从浮点数据转换为Decimal类型

from decimal import *
Decimal.from_float(12.222)
# 结果为Decimal('12.2219999999999995310417943983338773250579833984375')

 

通过设定有效数字,限定结果样式:

from decimal import *
getcontext().prec = 6
Decimal(1)/Decimal(7)
# 结果为Decimal('0.142857'),六个有效数字

 

四舍五入,保留几位小数

from decimal import *
Decimal('50.5679').quantize(Decimal('0.00'))
# 结果为Decimal('50.57'),结果四舍五入保留了两位小数

 

 

复制代码
def str_dec(sql_obj):
    """序列化Decimal对象"""
    lst = []
    for tp in sql_obj:
        tpl = []
        for i in tp:
            if isinstance(i, decimal.Decimal):
                i = float(i.quantize(Decimal('0.0')))
            tpl.append(i)
        lst.append(tuple(tpl))
    return lst
复制代码

 

posted @   web123  阅读(230)  评论(0编辑  收藏  举报
努力加载评论中...
点击右上角即可分享
微信分享提示