title: What's the deal with char.GetNumericValue?
body: <p>I was working on <a href="https://projecteuler.net/index.php?section=problems&amp;id=40" rel="nofollow noreferrer">Project Euler 40</a>, and was a bit bothered that there was no <code>int.Parse(char)</code>.  Not a big deal, but I did some asking around and someone suggested <code>char.GetNumericValue</code>.  <code>GetNumericValue</code> seems like a very odd method to me:</p>
  <ul>
  <li>Takes in a char as a parameter and returns... a double?</li>
  <li>Returns -1.0 if the char is not '0' through '9'</li>
  </ul>
  <p>So what's the reasoning behind this method, and what purpose does returning a double serve?  I even fired up Reflector and looked at <code>InternalGetNumericValue</code>, but it's just like watching Lost: every answer just leads to another question.</p>