科学符号的包含是如何在python中隐式决定的?



计算结果中包含科学符号的python标准是什么?

d1 = Decimal('500')
d2 = Decimal('0.25')
print d1/d2

这给出了结果2.0E+3

如果500的小数点后包含2个0,即

d1 = Decimal('500.00')
d2 = Decimal('0.25')
print d1/d2

给出结果2000

还有,如何确保结果中没有科学符号?

参见官方文档中的常见问题解答:

。一些十进制值总是以指数符号打印。有没有一种方法可以得到非指数表示?

。对于某些值,指数符号是表示系数中有效位数的唯一方法。例如,将5.0E+3表示为5000可以保持值不变,但不能显示原始的两位显著性。

如果应用程序不关心跟踪重要性,则很容易删除指数和后面的零,从而失去重要性,但保持值不变:

def remove_exponent(d):
return d.quantize(Decimal(1)) if d == d.to_integral() else d.normalize()
>>> remove_exponent(Decimal('5E+3'))
Decimal('5000')

相关内容

  • 没有找到相关文章

最新更新