我从另一张海报中借用了这个小小的科学记法脚本:Display a decimal in scientific notation。
def format_e(n):
a = '%E' % n
return a.split('E')[0].rstrip('0').rstrip('.') + 'E' + a.split('E')[1]
format_e(Decimal('40800000000.00000000000000'))
# '4.08E+10'
format_e(Decimal('40000000000.00000000000000'))
# '4E+10'
format_e(Decimal('40812300000.00000000000000'))
当从终端或Python Shell作为模块操作时,该函数可以正常工作。但是,当像' python Converter.py'它立即终止而不返回上述三个例子中的任何一个。
答案 0 :(得分:4)
交互式解释器自动回显任何不返回None
的表达式的结果。在脚本中,您需要明确地打印您想要查看的结果:
print format_e(Decimal('40800000000.00000000000000'))
print format_e(Decimal('40000000000.00000000000000'))
print format_e(Decimal('40812300000.00000000000000'))