这是我的代码:
x = 1.0
y = 100000.0
print x/y
Run Code Online (Sandbox Code Playgroud)
我的商显示为 1.00000e-05
有没有办法压制科学记数并使其显示为
0.00001?我将把结果用作字符串.
如何获得以下格式(输入值始终小于 0.1):
> formatting(0.09112346)
0.91123E-01
> formatting(0.00112346)
0.11234E-02
Run Code Online (Sandbox Code Playgroud)
等等。
我正在寻找一些优雅的解决方案。我已经在使用下面给出的自定义函数:
def formatting(x, prec=5):
tup = x.as_tuple()
digits = list(tup.digits[:prec])
dec = ''.join(str(i) for i in digits)
exp = x.adjusted()
return '0.{dec}E{exp}'.format(dec=dec, exp=exp)
Run Code Online (Sandbox Code Playgroud)