【C#10和.net 6.0】书里面有个例子:
double x = 0.1;
double y = 0.2;
bool result = x + y == 0.3 ? true : false;
MessageBox.Show(result ? "true" : "false");
请问下,为何结果为false
而改成其他的(试验了几种),如:
double x = 0.1;
double y = 0.5;
bool result = x + y == 0.6 ? true : false;
MessageBox.Show(result ? "true" : "false");
结果却都是true
书上说单纯精度问题,但只有第一个例子符合作者理论,第二个例子却是true,请问同行们为啥会出现这种有时候true,有时候false的情况,double精度有问题也似乎解释不符。