我需要编写一个简单的方法,将字符串作为输入,检查它是否为数字并显示其原始格式中的数字。
例如:
输入:输出:
"123" 123
"-123" -123
"1.17" 1.17
"abd" ERROR
我在考虑int.parse和double.parse,但无论如何要检查字符串表示是int还是double?
谢谢!
答案 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");