繁体   English   中英

c# if 语句,其中条件包含带有循环小数的浮点数 [重复]

[英]c# if statements where conditions contains a float with recurring decimal [duplicate]

我对 c# 比较陌生,目前正在学习 if 语句。 我写了一个小代码来问用户一些算术问题,然后告诉他们他们的答案是否正确,但我遇到了一个小问题。

Double ans01;    
Console.WriteLine("What is the average of 2,5,6 = ");
ans01 = Convert.ToDouble( Console.ReadLine() );    
if (ans01 == 4.333)    
{    
    Console.WriteLine("Correct!");
}    
else    
{        
    Console.WriteLine("Wrong. Try again!");    
}

这是我写的代码,答案是 4.333 ......但由于这是一个循环小数,我想知道是否有任何方法可以编写此代码,如果用户输入任意数量的三,它仍然会打印第一个声明。

感谢您的反馈,我肯定以错误的方式解决了代码中的问题。 我应该刚刚指定答案近似为 3dp

无论您使用哪种语言都不应直接比较浮点值。 相反,您最好检查这两个数字是否足够接近,只允许一些 epsilon 差异

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM