title: parsing a string into int/long using custom format strings
body: <p>In C#.Net, here's a simple example of how to format numbers into strings using custom format strings:
  (example taken from: <a href="http://www.csharp-examples.net/string-format-int/" rel="nofollow">http://www.csharp-examples.net/string-format-int/</a>)</p>
  
  <pre><code>String.Format("{0:+### ### ### ###}", 447900123456); // "+447 900 123 456"
  String.Format("{0:##-####-####}", 8958712551);       // "89-5871-2551"
  </code></pre>
  
  <p>Is there a way to convert this formatted string back into a long/integer ? Is there someway to do this :</p>
  
  <pre><code>long PhoneNumber = Int32.Parse("89-5871-2551", "{0:##-####-####}");
  </code></pre>
  
  <p>I saw that DateTime has a method ParseExact which can do this work well. But I did not see any such thing for int/long/decimal/double.</p>