回答
而應該做
float years = (1.0/31536000.0) * 883102.00;
或
float years = (1.0/31536000) * 883102.00;
可以正常工作。你的第一個數字被視爲整數。
竅門 - 感謝 – Rajeshwar
1是一個int。然後編譯器會假設你對ints有興趣,然後1/3153600變成0.只需在.1中加1,你的calc就可以工作了。
float years = (1.0/31536000) * 883102.00;
第一項是int
,因此四捨五入爲0
。試試這個:
float years = (1.00/31536000.00) * 883102.00
小數點後面爲什麼只有兩個零?你不應該再添加幾個以保證安全嗎? –
這裏沒有演員。第一項的類型爲'int',第二項的類型爲'int',因此它們的商具有類型'int'。該值是**截斷**,不是四捨五入。 –
@PeteBecker:「舍入」用於表示修改結果以適應目標格式(例如,IEEE 754-2008 4.3),並且可以使用各種舍入模式,例如舍入爲零。 –
(31536000分之1)將產生出0是乘以任何數將爲0 使分子或分母浮動ATLEAST一個(如1.0或31536000.0)
883102.0/31536000
將做到這你想要什麼。
因爲整數司
(1/31536000)
的小數位獲得截斷,結果爲「零」。 你必須添加一個點:
(1.0/31536000.0) or (1./31536000.)
只是不要
float years = 883102.00/31536000;
這將節省計算。 既然你是潛水1的東西,然後乘。 或者只是將1設置爲1.00
- 1. 浮點數計算
- 2. 浮點數的數學運算
- 3. c# - 計算器 - 用浮點數計算
- 4. php計算浮點數
- 5. PHP:浮點數學運算和比較
- 6. php浮點數學運算錯誤?
- 7. 在浮點數中計算小數位
- 8. PHP意外整數/浮點數計算
- 9. 計算整數和一個浮點數
- 10. Python計算:浮點數和整數
- 11. 紅寶石浮點數學 - 總結精度問題計算
- 12. 科學浮點數的計算結果,不能用它來計算
- 13. 計算機科學數學
- 14. IEEE浮點數,如何計算偏差
- 15. 2浮點數做一個計算
- 16. 計算器浮點數轉換
- 17. python:無法計算浮點數
- 18. 如何計算C中的浮點數?
- 19. 英特爾:計算浮點數
- 20. 轉換爲浮點數並計算
- 21. Java浮點數學錯誤?
- 22. Android浮點數學性能
- 23. SASS數學計算
- 24. 數學計算C
- 25. Oracle數學計算
- 26. angularjs數學計算
- 27. Sql數學計算
- 28. Python數學計算
- 29. Javascript數學計算
- 30. MongoDB - 數學計算
嘗試在每個數字上添加'f'後綴 – user2485710
@ user2485710'1f'無效C++。 –
@PascalCuoq確定我的意思是'1.0f',爲每個數字加上'.0f'。 – user2485710