数字的字符串格式

时间:2012-01-16 19:28:35

标签: python

我有以下号码:

0006.5400
0000.5400
0000.0000

除非第一个数字为零,否则如何在左侧除去所有前导零点。是否有限制'在lstrip()

我能够在数据库级别修复此问题,但无论如何都很好奇。

3 个答案:

答案 0 :(得分:3)

它们总是十进制字符串吗?

>>> float("0000.0000")
0.0
>>> float("0006.5400")
6.54
>>> float("0000.5400")
0.54

编辑:

正如Matt在下面建议的那样,你也可以使用:

'%0.4f' % float("0000.5400")

答案 1 :(得分:1)

这会删除左侧无效的零,但会保留右侧的零。

import decimal
D = decimal.Decimal

for s in ('0006.5400', '0000.5400', '0000.0000'):
    print(D(s))

产量

6.5400
0.5400
0.0000

答案 2 :(得分:0)

最简单的解决方案可能只是使用lstrip(),然后在必要时添加前导"0"