Solo quiero saber si hay una mejor solución para analizar un número de un carácter en una cadena (suponiendo que sepamos que el carácter en el índice n es un número).
String element = "el5";
String s;
s = ""+element.charAt(2);
int x = Integer.parseInt(s);
//result: x = 5
(Inútil decir que es solo un ejemplo)

'0', '1', '2', ...in ascii son ascendentes. Entonces, por ejemplo, '0' en ascii es 48, '1' es 49, etc. Entonces, si lo tomas'2' - '0', realmente obtienes50 - 48 = 2. Eche un vistazo a una tabla ASCII para comprender mejor este principio. Además,'x'significa obtener el valor ASCII del personaje en Java.- '0'trabajado ... pensé que era un poco de magia profunda en la manera de Java interpreta personajes o lo que sea ... Esto fue realmente un caso de mí más de lo que complica algo ...Character.getNumericValueProbablemente sea lo mejor desde el punto de vista del rendimiento, pero es difícil:
Funciona si asumes que tu personaje es un dígito, y solo en idiomas que siempre usan Unicode, como Java ...
fuente
"el५"donde५está el dígito 5 en India. :)'0'devuelve el valor entero?Simplemente restando por char '0' (cero) un char (del dígito '0' a '9') se puede convertir en int (0 a 9), por ejemplo, '5' - '0' da int 5.
fuente
fuente
Usando binario
ANDcon0b1111:fuente
Restando el valor ascii de '0' = 48 de char
fuente