我可以更改Python的Decimal默认格式吗?

时间:2014-09-16 11:47:03

标签: python decimal

我正在使用Python Decimal类型,最多8个小数位,对于非常小的数字,默认情况下,它们使用指数表示法显示。我希望它们以非指数表示法显示。示例如下:

>>> from decimal import Decimal
>>> d1 = Decimal('0.00000100')
>>> d1
Decimal('0.00000100')
>>> str(d1)
0.00000100

在这种情况下,d1完全符合我的要求。但是如果我使用数量稍小的另一个,我会得到指数表示法:

>>> d2 = Decimal('0.00000001')
>>> d2
Decimal('1E-8')
>>> str(d2)
'1E-8'

我意识到我可以使用format(d2, 'f')对其进行格式化,但是有很多地方使用API​​将这些值直接传递到我的应用程序的前端,所以如果可能的话,我宁愿不这样做。 / p>

我很想知道这是否可以改变?

谢谢!

1 个答案:

答案 0 :(得分:0)

不,你不能。如果您确实需要这样做,您有以下2个选项:

  1. 如果你的十进制数保持两位精度,那么将它们转换为带有str的字符串就可以了。
  2. 如问题所示,请使用format()
  3. 来源:Python Decimal Documentation