我正在使用Java 7 64位的LibGDX程序。爲什麼java 7 123.123456f會得到123.12346?
當我使用junit測試一個接收float作爲參數的函數時,我得到了一個奇怪的結果。我使用123.123456f
作爲參數調用該函數,該函數接收123.12346
。爲什麼會發生?
當我使用12.123456f
作爲參數時,它得到了正確的結果。 123.12345f
仍然有效。
因此我使用System.out.println(...)
來檢查輸入。
這對我並不重要,但我只是想知道爲什麼。非常感謝你!
問候, 安東尼
[每個計算機科學家應該知道的關於浮點算術](http://docs.oracle.com/cd/E19957-01/806-3568/ncg_goldberg.html) –
已經有很多關於這個「問題「在這個網站上。浮點類型不具有無限精度。浮游物有24位尾數,只能保持6-7位精度 –