[英]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.