47
A
回答
102
有三個選項:
>>> 4/float(100)
0.04
>>> 4/100.0
0.04
這是相同的行爲C,C++,JAVA等,或
:>>> from __future__ import division
>>> 4/100
0.04
您還可以通過傳遞參數-Qnew
Python解釋器激活此行爲
$ python -Qnew
>>> 4/100
0.04
第二個選項將是Python 3.0中的默認選項。如果你想擁有舊的整數除法,你必須使用//
運算符。
編輯:添加了關於-Qnew
的部分,感謝ΤΖΩΤΖΙΟΥ!
1
嘗試4.0/100
1
一個簡單的路線4/100.0
或
4.0/100
3
你需要告訴Python使用浮點值,而不是整數。你可以簡單地通過自己在投入使用小數點:
>>> 4/100.0
0.040000000000000001
7
使條款的一個或兩個浮點數,就像這樣:
4.0/100.0
或者,打開此功能,這將是在Python 3.0默認情況下,「真師」,那你想要做什麼。在你的模塊或腳本的頂部,這樣做:
from __future__ import division
0
你不能獲得通過將一個整數與另一個十進制值,你會得到永諾的整數方式(導致截斷整數)。您至少需要一個值作爲十進制數。
+0
請注意,如果您使用/,則在Python 3.0中不會出現這種情況。 – 2008-09-22 20:13:00
23
其他答案建議如何獲得浮點值。雖然這wlil接近你想要什麼,它不會是準確的:
>>> 0.4/100.
0.0040000000000000001
如果你真的想要一個十進制值,這樣做:
>>> import decimal
>>> decimal.Decimal('4')/decimal.Decimal('100')
Decimal("0.04")
這會給你一個對象正確地知道在基數10中的4/100是「0.04」。浮點數實際上是以2爲底的,即二進制,而不是十進制。
3
你也可以看看Python的decimal包。這將提供很好的小數結果。
>>> decimal.Decimal('4')/100
Decimal("0.04")
-4
1
在這裏,我們下面
from __future__ import division
print(4/100)
print(4//100)
-3
進口部給從未來圖書館兩種可能的情況是這樣的:
相關問題
- 1. Python整數除法運算符vs math.floor
- 2. 如何在python中使用boost :: python(pyopencv)使用C++運算符
- 3. 如何使用模數運算符來計算小數
- 4. 如何在C#中獲得特定的運算符函數?
- 5. 如何在Hibernate中使用TYPE運算符時處理空值?
- 6. 使用python的**運算符和*運算符時的符號
- 7. 如何在Python 2.7中獲得大於24小時的小時值?
- 8. 如何正確使用python + =運算符?
- 9. 如何獲得的值在運行時
- 10. 如何在stl算法中使用glm的運算符==?
- 11. 獲取值使用間接運算符
- 12. 如何使用迭代運算符來獲得HTML和PHP
- 13. 簡單賦值運算符在Python中變得複雜
- 14. C#,通過屬性獲得的價值使用++運算符(獲得)
- 15. 如何在C++中使用「%」運算符?
- 16. 如何在C中使用運算符?
- 17. 如何在Sequelize中使用運算符?
- 18. 使用除非運算符
- 19. 如何在php中使用運算符時返回字符串?
- 20. 如何在PostgreSQL中獲得運算符定義?
- 21. 獲得後面的值?運算符在URL中
- 22. 如何使用運算符`?`從數組中獲取項目?
- 23. 如何在使用WITH CUBE時獲得中位數值?
- 24. 如何在Python中使用十進制值進行模運算?
- 25. 如何獲得python的小數精度?
- 26. 如何在Python中模擬賦值運算符重載?
- 27. 除法運算數
- 28. 如何使用?:運算符
- 29. 如何使用%運算符?
- 30. 運算符在Python函數中重載的類似用法
也請添加python的可用性-Q new`命令行選項使您的答案更加完整。 – tzot 2008-09-23 09:26:16
這給出了一個浮點值,而不是一個十進制值。看到雕文的答案。 – Jim 2008-09-23 15:19:50
您也可以在源代碼中使用`from __future__ import division`。 – 2012-03-23 04:56:39