我有以下号码:
0006.5400
0000.5400
0000.0000
除非第一个数字为零,否则如何在左侧除去所有前导零点。是否有限制'在lstrip()
?
我能够在数据库级别修复此问题,但无论如何都很好奇。
答案 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"
。