關於今天python2 VS python3第二個問題,我有恢復到V2與劇本我寫了V3和它不工作:的Python 2.7四捨五入VS的Python 3
print(str(27062/1000))
使用python3這將返回27.062 ,但在python2下返回27.
27.062是我需要的值,我該如何在python2下執行此操作?
感謝
關於今天python2 VS python3第二個問題,我有恢復到V2與劇本我寫了V3和它不工作:的Python 2.7四捨五入VS的Python 3
print(str(27062/1000))
使用python3這將返回27.062 ,但在python2下返回27.
27.062是我需要的值,我該如何在python2下執行此操作?
感謝
轉換爲浮動:
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
簡短的回答 - 轉換爲float
。 print(str(float(27062)/1000))
在Python 2.x中,/
是整數的floor division運算符 - 它返回一個數字進入另一個數的次數。在Python 3.x中,地板劃分運算符已更改爲//
,而/
的行爲與「正常」劃分相同。
輝煌:來自__future__進口部門 - 既解決了迄今爲止我發現的問題,也解決了其他問題 - 非常感謝:-) – crankshaft