Given the following code:
char x = '5'; int a0 = x - '0'; // 0 int a1 = Integer.parseInt(x + ""); // 1 int a2 = Integer.parseInt(Character.toString(x)); // 2 int a3 = Character.digit(x, 10); // 3 int a4 = Character.getNumericValue(x); // 4 System.out.printf("%d %d %d %d %d", a0, a1, a2, a3, a4); (version 4 credited to: casablanca)
What do you consider to be the "best-way" to convert a char into an int ? ("best-way" ~= idiomatic way)
We are not converting the actual numerical value of the char, but the value of the representation.
Eg.:
convert('1') -> 1 convert('2') -> 2 ....
In Java, we can convert the Char to Int using different approaches. If we direct assign char variable to int, it will return the ASCII value of a given character. If the char variable contains an int value, we can get the int value by calling Character. getNumericValue(char) method.
How about Character.getNumericValue?
I'd strongly prefer Character.digit.
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