Question

How can you check whether a string is convertible to an int?

Let's say we have data like "House", "50", "Dog", "45.99", I want to know whether I should just use the string or use the parsed int value instead.

In JavaScript we had this parseInt() function. If the string couldn't be parsed, it would get back NaN.

Was it helpful?

Solution

Int32.TryParse(String, Int32) - http://msdn.microsoft.com/en-us/library/f02979c7.aspx

  bool result = Int32.TryParse(value, out number);
  if (result)
  {
     Console.WriteLine("Converted '{0}' to {1}.", value, number);         
  }

OTHER TIPS

Could you not make it a little more elegant by running the tryparse right into the if?

Like so:

if (Int32.TryParse(value, out number))     
  Console.WriteLine("Converted '{0}' to {1}.", value, number);

Int.TryParse

found this in one of the search results: How do I identify if a string is a number?

Adding this because the answers i saw before did not have usage:

int n;
bool isNumeric = int.TryParse("123", out n);

here "123" can be something like string s = "123" that the OP is testing and the value n will have a value (123) after the call if it is found to be numeric.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top