C#,将数字字符串显示为原始格式的数字

时间:2011-04-05 07:48:24

标签: c# .net

我需要编写一个简单的方法,将字符串作为输入,检查它是否为数字并显示其原始格式中的数字。

例如:

输入:输出:

"123"          123  
"-123"        -123  
"1.17"           1.17
"abd"          ERROR

我在考虑int.parse和double.parse,但无论如何要检查字符串表示是int还是double?

谢谢!

4 个答案:

答案 0 :(得分:9)

您可以使用Decimal.TryParse()然后只显示字符串(如果是数字),如果不是则显示错误。

答案 1 :(得分:2)

int.TryParse()和double.TryParse()将为您完成这项工作。

解析操作的结果存储在out参数中,参见http://www.dotnetperls.com/int-tryparse

双重tryparse方法的工作方式相同......

答案 2 :(得分:1)

TryParse会处理它。 http://msdn.microsoft.com/en-us/library/f02979c7.aspx

private static void TryToParse(string value)
   {
      int number;
      bool result = Int32.TryParse(value, out number);
      if (result)
      {
         Console.WriteLine("Converted '{0}' to {1}.", value, number);         
      }
      else
      {
         if (value == null) value = ""; 
         Console.WriteLine("Attempted conversion of '{0}' failed.", value);
      }
   }

答案 3 :(得分:0)

        double result_double;
        int result_int;
        if (double.TryParse(your_string, out result_double))
            Console.WriteLine(result_double);
        else if (int.TryParse(your_string, out result_int))
            Console.WriteLine(result_int);
        else Console.WriteLine("error");