计算结果中包含科学符号的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')