書名: Python進階編程:編寫更高效、優雅的Python代碼作者名: 劉宇宙 謝東 劉艷本章字數: 346字更新時間: 2021-04-30 12:39:33
1.2 數字格式化輸出
在項目應用中,我們有時需要將數字格式化后輸出,并希望能對數字的位數、對齊、千分符等進行控制。
格式化輸出單個數字可以直接使用f前綴,示例(number_format.py)如下:
x = 1234.56789 print(f'0.2f format {x}: {x:0.2f}') print(f'>10.1f format {x}: {x: >10.1f}') print(f'<10.1f format {x}: {x: <10.1f}') print(f'^10.1f format {x}: {x: ^10.1f}') print(f', format {x}: {x: ,}') print(f'0,.1f format {x}: {x: 0,.1f}')
執行py文件,輸出結果如下:
0.2f format 1234.56789: 1234.57 >10.1f format 1234.56789: 1234.6 <10.1f format 1234.56789: 1234.6 ^10.1f format 1234.56789: 1234.6 , format 1234.56789: 1,234.56789 0,.1f format 1234.56789: 1,234.6
如果想使用指數記法,可將前綴f改成e或者E(取決于指數輸出的大小寫形式),示例(number_format.py)如下:
print(f'e format {x} is: {x: e}') print(f'0.2E format {x} is: {x: 0.2E}')
執行py文件,輸出結果如下:
e format 1234.56789 is: 1.234568e+03 0.2E format 1234.56789 is: 1.23E+03
指定寬度和精度的一般形式是'[<>^]?width[,]?(.digits)?',其中width和digits為整數,?代表可選部分。同樣的格式可被用在字符串的format()方法中,輸出(number_format.py)如下:
print(f'The value is {x: 0,.2f}')
數字格式化輸出通常是比較簡單的。該技術同時適用于浮點數和decimal模塊中的Decimal數字對象。
當指定數字的位數后,利用round()函數對結果值進行四舍五入后再返回。示例(number_format.py)如下:
print(f'x format: {x: 0.1f}') print(f'-x format: {-x: 0.1f}')
執行py文件,輸出結果如下:
x format: 1234.6 -x format: -1234.6
包含千分符的格式化與本地化沒有關系。如果需要根據地區來顯示千分符,則需要自己去調用locale模塊中的函數。我們可以使用translate()方法來交換千分符,示例(number_format.py)如下:
swap_separators = { ord('.'):',', ord(','):'.' } print(format(x, ',').translate(swap_separators))
執行py文件,輸出結果如下:
1.234,56789
推薦閱讀
- Qt 5 and OpenCV 4 Computer Vision Projects
- JavaScript前端開發模塊化教程
- GAE編程指南
- Spring Boot+Spring Cloud+Vue+Element項目實戰:手把手教你開發權限管理系統
- OpenCV 3和Qt5計算機視覺應用開發
- Elastic Stack應用寶典
- Instant QlikView 11 Application Development
- 教孩子學編程:C++入門圖解
- PLC編程及應用實戰
- Solr Cookbook(Third Edition)
- Django實戰:Python Web典型模塊與項目開發
- R語言:邁向大數據之路(加強版)
- Java 從入門到項目實踐(超值版)
- 零基礎學HTML+CSS第2版
- R語言實戰(第2版)