python - Python 格式浮点数,如 Fortran
问题描述
我正在用 Python 打印一些浮点数,并希望它们的输出类似于 FortranFn.m
格式,例如:
# :some maybe format language like `F6.4` in Fortran
>>> '{:some}'.format(-0.0005)
-.0005
>>> '{:some}'.format(0.0005)
0.0005
我已经知道有一个名为fortranformat
PyPI 的模块可以处理它,我想知道 Python 字符串格式语言是否可以解决我的问题?
解决方案
Python 的格式迷你语言具有 and 的概念width
,precision
但它仅适用于应用格式的参数已经是浮点数的情况。
这可以通过编程方式完成:
n = 6437
d = 2
res = "{}".format(n if d == 0 else n / (10 ** d))
这将产生:64.37