我正在构建一个计算器来计算一些与化学相关的计算。所以大多数结果将是非常小的值。
一个示例结果是4.840909814726882e-09
。
如何以类似的格式显示此值4.84 x 10^(-9)
?
尝试这个:
format(4.840909814726882e-09, '.2e').replace('e', ' x 10^(') + ')'
Run Code Online (Sandbox Code Playgroud)
输出:
4.84 x 10^(-09)
这不正是你想要的结果,但它的简单。
还有:
def my_format(num):
s = format(num, '.2e')
base, exp = s.split('e')
return f'{base} x 10^({int(exp)})'
Run Code Online (Sandbox Code Playgroud)
输出:
>>> my_format(4.840909814726882e-09)
'4.84 x 10^(-9)'
Run Code Online (Sandbox Code Playgroud)
这更复杂,但这正是您想要的结果。