ASP.net,c#,如何检查输入的值是否为数字,可以是十进制或简单的整数

问题描述 投票:0回答:2

我正在试图限制用户输入有效的十进制值(无逗号)

什么是最好的方法。

我的代码:

try{
 Convert.ToInt32(stringToCheck)
}
catch
{
   //invlaid
}

如果用户输入一个十进制值,则失败,比方说3.0,尽管这是一个有效值。

如果我尝试Convert.ToDouble(stringToCheck)

如果用户输入3,6,则此错误无法捕获

请帮助!

谢谢。

c# asp.net double
2个回答
0
投票

使用正则表达式。 Here是这样。


0
投票
        var stringToCheck =  "3,6";
        var isDouble =            
        double.TryParse(stringToCheck,NumberStyles.AllowDecimalPoint, 
         NumberFormatInfo.InvariantInfo, out double doubleValue);

        if (isDouble)
        {
            // Do stuff if doubleValue variable
        }
        else
        {
            // code to run if not double
        }
© www.soinside.com 2019 - 2024. All rights reserved.