在對浮點型數(shù)據進行輸出操作時,經常面臨著精度的問題,眾所周知,計算機里面浮點數(shù)的精度一般是比較高的,而我們經常使用是保留小數(shù)點后兩位。
format函數(shù)為我們提供了格式化數(shù)據的方法,有關format的格式如下:
format(數(shù)值,“格式”)
格式是m.nf,m和n是整數(shù),m表示整個數(shù)值占多少位輸出,n表示小數(shù)點后保留幾位小樹
舉例:數(shù)值123.45678
print format(123.45678, ‘0.2f’)
print format(123.45678, ’10.2f‘)
輸出結果如下:
>>> print format(123.45678, '0.2f')
123.46
>>> print format(123.45678, '10.2f')
? ?123.46
m.nf 如果m為0,表示僅考慮小數(shù)點后又幾位,不考慮輸出占幾位;第二次m取值10,由于123.45僅有五位,所以輸出會縮進,也就是右對齊。注意小數(shù)點也算作一位。
在看下面一種情況
print format(123.45678,‘3.2f’)
>>> print format(123.45678,'3.2f')
123.46
對于m的值過小,python為了保證數(shù)據的精確,會忽略m值,也就是將m值視為0.這樣就能準確輸出結果,而不是為了可以保證數(shù)據格式忽略數(shù)據的正確性。
format的另外一個用法就是輸出百分比的數(shù)值。其語法格式如下:
format(數(shù)值,‘m.n%’)
關于m和n的含義,和前面的一樣,%表示將要數(shù)值轉換成百分數(shù)。
舉例如下:
>>> print (format(0.5,'0.1%'))
50.0%
>>> print(format(0.4234,'3.1%'))
42.3%