2012-01-16 83 views
0

我有以下號碼:字符串格式化爲一些

0006.5400 
0000.5400 
0000.0000 

我怎麼會得到剝離左側的所有前導零,除非第一個數字是零。 lstrip()是否有「限制」?

我能夠解決這個問題在數據庫級別,但好奇的反正。

+0

破折號表示負數嗎? – 2012-01-16 19:29:48

+0

(不,我改變它使其更清晰。) – David542 2012-01-16 19:30:27

+0

@ David542你需要什麼輸出?所有領先的零刪除或只是其中的幾個? – jcollado 2012-01-16 19:33:41

回答

3

它們總是十進制字符串嗎?

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

編輯:

馬特以下建議,你也可以使用:

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

+1

或''%.4f'%float(「0000.0000」)'可能 – Matt 2012-01-16 19:36:32

+0

謝謝指出:) – aayoubi 2012-01-16 19:40:57

1

這條左側的微不足道零但保留右側的零。

import decimal 
D = decimal.Decimal 

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

產生

6.5400 
0.5400 
0.0000 
0

也許最簡單的辦法就是使用lstrip(),然後添加必要的領先"0"