我用pythonista除以12.76,結果是0.12000000001而不是0.12,爲什麼?爲什麼在python 12.76/106是0.1200000000001而不是0.12?
1
A
回答
1
因爲電腦以二進制計算。但他們也有限位來表示數字。有可能是底座2溢出,所以機器不得不四捨五入。然後,當它將其轉換爲十進制數時,即可獲得該數字.00000000000001
2
您可能想要查看http://floating-point-gui.de。你得到的答案沒有錯,一切都取決於你想要的精度。
+0
也許我用Decimal('12.72')/ 106 * 100解決了這個問題,它返回了我所期望的Decimal('12 .00')。您必須導入十進制模塊(從十進制導入*) –
相關問題
- 1. 爲什麼=而不是:?
- 2. 爲什麼DateTime.Now.Year是int而不是ushort
- 3. 'num_of_cmt'是4而不是2。爲什麼?
- 4. 爲什麼retainCount是0而不是1?
- 5. 是什麼,而不
- 6. 爲什麼我應該使用python 3.1而不是python 2.6?
- 7. 爲什麼我在Python中獲取None而不是True/False?
- 8. 在Python中,爲什麼寫round(x [,n])而不是round(x,n)?
- 9. 在Python中,爲什麼使用日誌而不是打印?
- 10. 爲什麼len(list)而不是list.len()在python中?
- 11. 爲什麼爲(;;)而不是while(1)?
- 12. 什麼是在Python而不是PHP最接近的WordPress?
- 13. 爲什麼我的百分比計算是0.12關閉?
- 14. 爲什麼使用classmethod而不是staticmethod?
- 15. 爲什麼使用iconv_strpos而不是strpos?
- 16. 爲什麼使用registerDefaults:而不是setValue:forKey:?
- 17. 爲什麼'Private Sub`而不是`Public Sub`
- 18. 爲什麼合併而不是快進?
- 19. 爲什麼Builder builder而不是alertdialoge.Builder?
- 20. 爲什麼myInstance = nil而不是self.myInstance = nil?
- 21. 爲什麼調度Event.OPEN而不是IOErrorEvent.IO_ERROR?
- 22. 爲什麼使用TagBuilder而不是StringBuilder?
- 23. 爲什麼Java有NullPointerException而不是NullReferenceException?
- 24. 爲什麼,而不是使用回調
- 25. 爲什麼NSAssert1,而不是NSAssert?
- 26. 爲什麼使用結構,而不是
- 27. 爲什麼null == myVar而不是myVar == null?
- 28. 爲什麼使用StringWriter而不是StringBuffer?
- 29. 爲什麼hashtable count = 1而不是= 5?
- 30. 爲什麼不調用UIPinchGestureRecognizer,而scrollViewDidEndZooming是?
有沒有辦法在python中獲得正確的結果? –