当前位置:  开发笔记 > 编程语言 > 正文

在C#中检查字符串值是否具有数值

如何解决《在C#中检查字符串值是否具有数值》经验,为你挑选了3个好方法。

我有一个像这样的字符串

string str ="dfdsfdsf8fdfdfd9dfdfd4"

我需要通过循环遍历数组来检查字符串是否包含数字.



1> kgiannakakis..:

正则表达式怎么样:

bool val = System.Text.RegularExpressions.Regex.IsMatch(str, @"\d");



2> splattne..:

如果要查找整数值,可以使用int.TryParse:

int result;
if (int.TryParse("123", out result))
{
    Debug.WriteLine("Valid integer: " + result);
}
else
{
    Debug.WriteLine("Not a valid integer");
}

要检查十进制数,请将Dec.TryParse替换为Decimal.TryParse.查看此博客文章和评论"为什么您应该在C#中使用TryParse()"以获取详细信息.

如果您需要十进制数字,您也可以使用此正则表达式:

return System.Text.RegularExpressions.Regex.IsMatch(
   TextValue, @"^-?\d+([\.]{1}\d*)?$");

最后另一种选择(如果你不虔诚地反对VB.NET),你可以使用Microsoft.VisualBasic命名空间中的方法:

Microsoft.VisualBasic.Information.IsNumeric("abc"); 



3> Timothy Khou..:

如果你要遍历字符串,请不要使用int.TryParse ......这太重了.相反,使用char.IsNumber();

例:

foreach (char c in myString)
    if (char.IsNumber(c))
        return true;

推荐阅读
ifx0448363
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有