2015-08-14 72 views
3

我想知道在格式化整數時是否可以同時使用兩種格式選項。Python整數格式化

我知道我可以使用波紋管,包括零個地方

varInt = 12 

print(
    "Integer : " + 
    "{:03d}".format(varInt) 
) 

爲了讓輸出「整數:012」

我可以使用下面的包括小數

varInt = 12 

print(
    "Integer : " + 
    "{:.3f}".format(varInt) 
) 

獲得輸出「Integer:12.000」

但是有可能使用它們bo th一起得到輸出「Integer:012.000」

+2

你可以用['zfill嘗試'](https://docs.python.org/2/library/stdtypes.html#str.zfill)也是''{:.3f}「。格式(12).zfill(7)' –

+0

@BhargavRao,doesn '不適用於負數 –

+0

@JohnLaRooy''{:.3f}「。format(-1).zfill(7)'打印''-01.000 「'。無論如何感謝信息。 (好,我沒有把它作爲答案) ' –

回答

6
varInt = 12 

print(
    "Integer : " + 
    "{:07.3f}".format(varInt) 
) 

輸出:

Integer : 012.000 

的7是場寬度,幷包括小數點。

4

當然,開頭的數字是輸出字符串的最小長度,所以也包括小數部分和小數點。

>>> "{:07.3f}".format(12) 
'012.000' 
3

您不僅可以指定最小長度和小數點像這樣:

"{:07.3f}".format(12) 

,你甚至可以提供他們爲這樣的參數:

"{:0{}.{}f}".format(12, 7, 3)