需要下列帮助。我下面的值是越来越截断如下:自动截断浮点值
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