请参阅下面的代码。
public class TestSum {
public static void main(String[] args) {
float a = 4.8f;//try with 4.7f
float b = 4.5f;//try with 4.6f
double sum = a + b;
System.out.println(sum);
}
}
(4.8f+4.5f) sum=9.300000190734863
但是,当我尝试(4.7f+4.6f)
它sum = 9.299999237060547
再次给出时,
(1.8f+1.5f) sum=3.299999952316284.
(1.7f+1.6f) sum=3.3000001907348633.
但,
(2.8f+2.5f) sum=5.300000190734863.
(2.7f+2.6f) sum=5.300000190734863.
我想了解,这是如何工作的。提前致谢。