Skip to content

[Python] 字串格式化補零、取小數的方法

Last Updated on 2021-08-23 by Clay

不論是在什麼語言中,將程式運行結果整齊地輸出都是必不可少的步驟,有鑑於近來使用 Python 做資料分析越來越普遍,我也越來越常翻看自己過去的程式碼,好複習到底該如何在該死的輸出面前補上幾個整齊的 0,最後終於決定整理一篇簡單的格式化輸出,一勞永逸地解決自己的問題。

以下,分別會針對使用 {} 和 % 這兩種格式化字串的方法去紀錄。不過官方建議是使用 {} 來格式化字串,畢竟格式清楚且比 % 擁有更彈性的填充方法,比方說多次填入。


前面補零的方法

使用 zfill() 替字串補零

要注意的是,這個方法只適用於字串,如果要用於數值,需要先轉成字串才行。然後 zfill() 內填入想要補齊的位數,比方說我想要補到 5 位:

a = '777'

print(a.zfill(5))



Output:

00777


使用 format() 補零輸出

這個方法就不限數值型態還是字串了。同樣地,那個 5 為我想要補齊的位數。

a = 777

print('{0:05d}'.format(a))



Output:

00777


使用 % 補零輸出

這個方法同樣可以用於數值,跟 format() 的使用方法大同小異。

a = 777

print('%05d' % a)



Output:

00777

取小數特定位數

使用 round() 四捨五入取小數特定位數

round() 需要輸入兩個值,前者為要四捨五入的值,後者為要取的小數位數。

a = 3.1415926

print(round(a, 4))



Output:

3.1416


使用 format() 四捨五入取小數特定位數

a = 3.1415926

print('{:.4f}'.format(a))



Output:

3.1416


使用 % 四捨五入取小數特定位數

a = 3.1415926

print('%.4f' % a)


Output:

3.1416

References


Read More

Tags:

Leave a Reply