【问题标题】:C# checking a whole char for numbers [closed]C#检查整个字符的数字[关闭]
【发布时间】:2016-04-06 11:41:59
【问题描述】:

你好,我有一个字符串,我正在转换为一个字符 并检查它是否有数字,但是当我键入时我遇到了一个错误 122Abssde 它会通过任何建议吗?

foreach (char cha in myString)
{
    if(char.IsDigit(cha))
    {
       return Int32.Parse(MyString)
    }
}

【问题讨论】:

  • 你说的我有一个错误到底是什么意思?你能更具体一点吗?顺便说一句,我希望你的意思是 IsDigit 而不是 ISDigit
  • 在这里提问之前阅读this
  • 使用 int.TryParse 而不是整个代码。
  • 你到底想达到什么目的?

标签: c# string if-statement foreach char


【解决方案1】:

我想冒险回答这个问题,但您可以使用 Enumerable.Allchar.IsDigit 方法并将其解析为 int like;

if(myString.All(char.IsDigit))
{
   return int.Parse(myString);
}

或者更好的是,使用int.TryParse 来检查您的字符串是否为有效整数。

【讨论】:

    【解决方案2】:

    写一个函数

    public static bool isNumeric(string val, System.Globalization.NumberStyles NumberStyle)
    {
        Int32 result;
        return Int32.TryParse(val, NumberStyle,
            System.Globalization.CultureInfo.CurrentCulture, out result);
    }
    

    用法

    var _isNumeric2 = isNumeric("9.", System.Globalization.NumberStyles.Integer);
    

    【讨论】:

      猜你喜欢
      • 2017-04-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-01-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多