public class doublePrecision {
public static void main(String[] args) {
double total = 0;
total += 5.6;
total += 5.8;
System.out.println(total);
}
}
Run Code Online (Sandbox Code Playgroud)
上面的代码打印:
11.399999999999
Run Code Online (Sandbox Code Playgroud)
我怎么才能打印(或能够用它)11.4?
我有关于双精度的问题.当浮点值传递给double时,我会得到一些不同的结果.例如
float f= 54.23f;
double d1 = f;
System.out.println(d1);
Run Code Online (Sandbox Code Playgroud)
输出为54.22999954223633.有人可以解释这种行为背后的原因.它是否像两个十进制精度的默认值一样.