首页 新闻 会员 周边 捐助

C# double精度问题

0
[待解决问题]

【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精度有问题也似乎解释不符。

Shapley的主页 Shapley | 菜鸟二级 | 园豆:255
提问于:2023-03-17 08:46
< >
分享
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册