我随机选择了两个double数字:
double a = 7918.52;
double b = 5000.00;
Run Code Online (Sandbox Code Playgroud)
我希望2918.52从a - b.
嗯,它给了我一个结果2918.5200000000004,这看起来很奇怪。
print(a - b); // -> 2918.5200000000004
Run Code Online (Sandbox Code Playgroud)
但如果我改为double a,7918.54我将得到预期的结果2918.54。
有人可以向我解释为什么某些double值会导致意外的舍入问题而其他值则不会?