繁体   English   中英

C#将输入验证为双精度

[英]C# Validate input as double

我想验证我的输入是否大于或等于0并加倍。 这是我到目前为止所拥有的:

string aBalBeginS;
double abalbeginVal;

Console.Write("Account Balance at the beginning: $");
aBalBeginS = Console.ReadLine();
abalbeginVal = double.Parse(aBalBeginS);
if (aBalBeginS == "" || abalbeginVal <= 0)
{
   Console.WriteLine("Invalid data entered - no value redorded");
   aBalBeginS = null;
}

如何添加以检查输入是否为数字。 我尝试过double.TryParse,但是没有运气。

您通过double.TryParse()正确的轨道上

double abalbeginVal;
bool parsed = double.TryParse(aBalBeginS, out abalbeginVal);
if (parsed && abalbeginVal >=0.0)
{
    // We're good
}
else
{
    // Did not pass check
}

找到了解决方案:

Console.Write("Account Balance at the beginning: $");
            aBalBeginC = Console.ReadLine();

            //abalbeginVal = double.Parse(aBalBeginC);
            if (double.TryParse(aBalBeginC, out abalbeginVal) == false || aBalBeginC == "" || abalbeginVal <= 0)
            {
                Console.WriteLine("Invalid data entered - no value redorded");
                aBalBeginC = null;
            }

谢谢。

暂无
暂无

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

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