2013-11-03 57 views
0

關於今天python2 VS python3第二個問題,我有恢復到V2與劇本我寫了V3和它不工作:的Python 2.7四捨五入VS的Python 3

print(str(27062/1000)) 

使用python3這將返回27.062 ,但在python2下返回27.

27.062是我需要的值,我該如何在python2下執行此操作?

感謝

回答

1

轉換爲浮動:

In [1]: 27062.0/1000 
Out[1]: 27.062 

In [2]: float(27062)/1000 
Out[2]: 27.062 

或者,你可以這樣做:

In [3]: from __future__ import division 

,並在Python2的Python3類似的行爲:

In [4]: 27062/1000 
Out[4]: 27.062 

在這種情況下,你可以通過使用//運算符得到整數除法:

In [5]: 27062//1000 
Out[5]: 27 
+0

輝煌:來自__future__進口部門 - 既解決了迄今爲止我發現的問題,也解決了其他問題 - 非常感謝:-) – crankshaft

0

簡短的回答 - 轉換爲floatprint(str(float(27062)/1000))

在Python 2.x中,/是整數的floor division運算符 - 它返回一個數字進入另一個數的次數。在Python 3.x中,地板劃分運算符已更改爲//,而/的行爲與「正常」劃分相同。