如何計算兩個float
的除法餘數?浮動部門的剩餘部分
回答
a-floor(a/b)*b
- 假定a
和b
都是正值?
你可以說「餘數」對於浮動分類不是一個合適的概念,但我會留下你自己的判斷。
我一直在爲'99.6'和'0.2'獲得'0.2'的值 - 雖然它當然只是0因爲'996%2'爲0. –
使用fmod
,計算浮點模數。
double remainder = fmod(a_double, another_double);
如果你想使用的float
代替double
你會使用fmodf
代替。
'fmod(97.2,0.2)'返回0.2,這不是很有用。 –
@TomášZato問題在於,97.2和0.2都不能表示_exactly_作爲浮點數。請參閱[爲什麼浮點數不準確?](http://stackoverflow.com/questions/21895756/why-are-floating-point-numbers-incucurate)。在我的調試器中,我得到了'97.200000000000002'和'0.20000000000000001'作爲參數,結果爲'0.19999999999999746'。您可能需要一個定點數學庫來滿足您的需求。 – DarkDust
我想這也解釋了爲什麼'if(remaining == 0 || remainder == another_double)'也失敗了,因爲'0.19999999999999746'不等於'0.2'。我會比較數字之間的差異。 –
- 1. 在DB2中劃分剩餘的剩餘部分SQL
- 2. 僅從使用PHP的分部獲得剩餘部分
- 3. 方案 - 對於剩餘部分
- 4. 0打印剩餘部分時丟失
- 5. Windows Mobile 6在關閉後形成部分剩餘部分
- 6. 分區,剩餘部分和唯一允許的實數
- 7. php函數將數組拆分爲3部分,但不包含剩餘部分
- 8. 裝配部門和浮點
- 9. 在nasm程序中分離剩餘部分
- 10. 刪除背景後的位圖中的剩餘部分
- 11. Terse的方式來獲得iterable的剩餘部分(如數組)
- 12. argv從最後開始的剩餘部分
- 13. 尋找離開最小剩餘部分的最大號碼
- 14. 改變剩餘部分的顏色 - 引導
- 15. 如何修復底部的按鈕並滾動剩餘內容
- 16. C/C++計算並收集剩餘部分
- 17. 限制計數並將剩餘部分設置爲「其他」
- 18. Django:無法解析剩餘部分(媒體即圖像)
- 19. 使用Bouncy Castle獲取RSA公鑰剩餘部分
- 20. HTML:浮動浮動內部
- 21. CSS浮點數:剩餘問題
- 22. 如何讓左浮動的div佔用剩餘空間的100%?
- 23. 浮動旁邊的部分HTML5
- 24. 填充父母剩餘寬度的浮動div
- 25. Java剩餘整數分區?
- 26. 搜索結果「漂浮」在頁面的其餘部分?
- 27. 沒有太多開銷的特殊浮動部門
- 28. 做一個浮動部門而不安裝額外的寶石?
- 29. c#:'Inline'刪除小數部分,然後通過cama seperator分開剩餘值
- 30. 剩餘的值
http://stackoverflow.com/questions/989943/weird-objective-c-mod-behavior – Chris