bst*_*rre 5 python floating-point string-formatting
这个问题询问如何在python中抑制科学记数法.
我有一系列数字要显示 - 10的小功率 - 我想显示它们而没有尾随零.即0.1,0.01,依此类推至0.000001
如果"%s" % 10 ** -6我得到了'1e-06'.如果我使用"%f" % 10 ** -6我得到的'0.000001'是我想要的.
但是,"%f" % 10 ** -3收益率'0.001000'违反了"没有尾随零"的约束.
围绕这个(正则表达式替换或其他东西)强行蛮力并不难,但我想知道是否有一些格式字符串魔法我缺少.
在我看来有点hacky,但你可以str.rstrip("0")用来摆脱尾随零:
>>> "{:f}".format(10**-6).rstrip("0")
'0.000001'
>>> "{:f}".format(10**-3).rstrip("0")
'0.001'
Run Code Online (Sandbox Code Playgroud)
编辑:如评论中所述,有一个更好的方法:
>>> format(1e-6, 'f').rstrip('0')
'0.000001'
>>> format(1e-3, 'f').rstrip('0')
'0.001'
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7490 次 |
| 最近记录: |