1

我有一个简单的问题,我觉得应该有一个简单的解决方案。如何格式化浮点数,以便只显示小数点后的数字?我更喜欢使用 '{}'.format 来完成此操作。

>>> n = 0.12345
>>> n
0.12345
>>> str(n)[1:]
'.12345'
>>> '{}'.format(n)
'0.12345'
>>> '{}'.format(str(n)[1:])
'.12345'

我知道我可以使用 str(n)[1:],但我不想将数字转换为字符串。

4

1 回答 1

4

我认为没有删除零的格式字符串。但是,您可以使用lstrip

In [25]: n = 0.12345
In [26]: '{:.3f}'.format(n).lstrip('0')
Out[26]: '.123'

至少这比 更安全,如果等于大于 1 或小于 -1 的str(n)[1:]数字,它将删除一个有效数字。n

于 2012-12-08T17:58:00.070 回答