I was working on Project Euler 40, and was a bit bothered that there was no int.Parse(char)
. Not a big deal, but I did some asking around and someone suggested char.GetNumericValue
. GetNumericValue
seems like a very odd method to me:
So what's the reasoning behind this method, and what purpose does returning a double serve? I even fired up Reflector and looked at InternalGetNumericValue
, but it's just like watching Lost: every answer just leads to another question.
getNumericValue(char ch) returns the int value that the specified Unicode character represents. For example, the character '\u216C' (the roman numeral fifty) will return an int with a value of 50.
Java Character getNumericValue() Method The getNumericValue() method of character class returns the int value of the specified character. If the character does not have any int value, -1 is returned. If the character has a numeric value that cannot be represented as a non-negative integer, -2 is returned.
GetNumericValue(String, Int32) Converts the numeric Unicode character at the specified position in a specified string to a double-precision floating point number.
Remember that it's taking a Unicode character and returning a value. '0' through '9' are the standard decimal digits, however there are other Unicode characters that represent numbers, some of which are floating point.
Like this character: ¼
Console.WriteLine( char.GetNumericValue( '¼' ) );
Outputs 0.25 in the console window.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With