Python 格式化輸出 —— 小數轉化為百分數
阿新 • • 發佈:2018-11-02
分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow
也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!
比如將 0.1234 轉化為 12.34% 的形式:
rate = .1234print('%.2f%%' % (rate * 100 ))
- 1
- 2
- 第一個百分號和 .2f 相連,表示浮點數型別保留小數點後兩位格式化輸出;
- 然後的兩個連續的
%%
,則最終會輸出一個%
號出來,有對%
進行轉義的含義;
將小數(數值)轉化為字串,並賦給其他變數:
rate = .1res = format(res, '.0%') # res == '10%'
- 1
- 2
- 3
1 .format()
if test_data: print 'Epoch {0}: {1}/{2}' .format(j, self.evaluate(test_data), len(test_data))else: print 'Epoch {0} complete'.format(j)
- 1
- 2
- 3
- 4
注,倘若使用 {*} 的形式進行編號時,必須以 0 開始編號,如果{} 內部什麼也不寫,則預設編號為 0,{}
的形式自然用在待格式化的物件只有一個元素時。
a, b = 4.56, 5.78print('a: {0:.1f}, b:{1:.2f}'.format(a, b)) # a: 4.6, b:5.78,第一個數小數點後保留一位,第二個數則保留兩個小數位;
- 1
- 2
- 3
2. 萬能的輸出:%s
# 輸出一個numpy.ndarray>>> print('class dist.: %s' %(np.bincount([1, 0, 1])))class dist. : [1 2]
- 1
- 2
- 3
3. %f 控制精度
%s
無法控制精度:
>>> print('value: %s' % (5/3))value: 1.6666666666666667 >>> print('value: %.3f' %(5/3))value: 1.667
- 1
- 2
- 3
- 4
- 5
>>> print('%6.2f'%10.3) 10.30 # 注意10.30之前有一個空格 # 6.2f,6表示包含小數點一共六位,2表示小數點後共兩位>>> print('%06.2f'%10.3)010.30 # 不足的由零來填補
- 1
- 2
- 3
- 4
- 5
- 6
- 7