需要下列幫助。我下面的值是越來越截斷如下:自動截斷浮點值
float data1 = 48.12345678f;
float data2 = 12.12345678f;
float data3 = 90.12345678f;
float data4 = 56.12345678f;
System.out.println(data1);
System.out.println(data2);
System.out.println(data3);
System.out.println(data4);
Output -
48.123455
12.123457
90.12346
56.123455
它看起來像一個浮點值屬性,如果我們使用雙重價值將得到修復。
儘管JVM版本看起來相同,但它在不同的系統中是不同的。所以我需要找到一個解釋是什麼基礎上的四捨五入正在發生。在一個例子中,它增加了數字(12.123457),並且一次遞減(48.123455)。所以你能幫我理解這種模糊性的原因以及不同系統的結果會改變什麼性質。
在浮點變量中存儲這樣的精確值會導致精度損失! –
可能重複的[爲什麼我的float被截斷?](http://stackoverflow.com/questions/9083905/why-is-my-float-being-truncated) – Smutje