您好,欢迎来到暴趣科技网。
搜索
您的当前位置:首页python decimal 精度_将Python Decimal对象格式化为指定的精度

python decimal 精度_将Python Decimal对象格式化为指定的精度

来源:暴趣科技网

Python的Decimal对象缺少最基本的概念,我花了无数个小时的时间来研究,阅读,测试,最后感到困惑,并感到沮丧:将Decimal的输出格式化为一个字符串.

我们假设我们有一些字符串或十进制对象具有以下值:

0.0008

11.1111

222.2222

3333.3333

1234.5678

目标是简单地将十进制的精度设置为小数点后的第二位.例如,11.1111将格式化为11.11,而1234.5678的格式为1234.57.

我设想的代码类似于以下内容:

import decimal

decimals = [

decimal.Decimal('0.0008'),

decimal.Decimal('11.1111'),

decimal.Decimal('222.2222'),

decimal.Decimal('3333.3333'),

decimal.Decimal('1234.5678'),

]

for dec in decimals:

print dec.as_string(precision=2, rounding=ROUND_HALF_UP)

产生的结果是:

0.00

11.11

222.22

3333.33

1234.57

显然,我们不能使用十进制的上下文的精度,因为这考虑到TOTAL位数,而不仅仅是十进制精度.

我也不感兴趣将十进制转换为浮点数以输出其值. Decimal背后的最后一个原因是避免在浮动体上存储和运行计算.

还有什么其他解决方案?我明白堆栈溢出还有许多其他类似的问题,但是我没有找到解决我正在询问的根本问题.

非常感谢!

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- baoquwan.com 版权所有 湘ICP备2024080961号-7

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务