怎樣使python計算結果顯示小數?
我編程小白,前幾天開始學慣用python分析自然語言。但是發現教材上的from _future_ import division 在我的2.7.3上面不成功。我的計算結果都是整數,如3/5=0.要如何才能使運算結果顯示更精確的結果?
傳統整數除法會捨去小數部分,返回一個整型。如果操作數之一是浮點型,則執行真正的除法。比如: &>&>&> 5/0.3
16.666666666666668
&>&>&> 3/float(5)0.63/5是整數除法,返回結果也是整數,所以結果是0。這個不是隱藏了,是的確沒有。事實上不光python這樣處理,C/C++也都是這樣的,因為整數和浮點數本來就是兩回事,用來計算除法的部件也不是同一個。
如果想做浮點除法,就應該把至少一個操作數轉化為浮點型。最簡單的方法就是在後面加上.0,例如3.0/5。這裡3.0就自動是一個浮點數。當然也可以也可以用類型轉換的方法:(float)3/5。這樣做實際上是強制系統把整數3轉化為浮點數用,做除法時5也會自動被轉換為浮點數再進行除操作。
是from __future__ import division 不是from _future_ import division
改成 3.0/5
確定你們3/5都是0么?
就我特殊?
print({:.6f}.format(3/5)}
我也是初學,floa(5/3) floa(5)/3 5.0/3 5/3.0 後三個的效果一樣都是浮到小數點後10位,float(5/3),只整除之後強行再浮點,沒有實際作用,實際效果請看程序和運行結果。
print"ok,again",5/3 #1
print"do it again",40/3 #1
print"what is fudia
print"Is it can be divided",3.0/5 #0
print"ok,again",5.0/3 #1
print"do it again",float(40)/3 #13
print"do it again",float(6/5)
不能直接用a./b么
推薦閱讀:
※Day8,os模塊,時間戳
※Stackoverflow上百萬的Python問題|最火的十個
※使用Python建站對於日流量20w的pv你會採用什麼樣的架構?
※R語言中不能進行深度學習?
※巧妙使用 TensorFlow 之 TensorLayer
TAG:Python |