Я просто хочу знать, есть ли лучшее решение для анализа числа из символа в строке (при условии, что мы знаем, что символ в индексе n является числом).
String element = "el5";
String s;
s = ""+element.charAt(2);
int x = Integer.parseInt(s);
//result: x = 5
(бесполезно говорить, что это всего лишь пример)
'0', '1', '2', ...
в ascii возрастают. Так , например , «0» в кодировке ASCII является 48, «1» 49, и т.д. Так что если вы берете'2' - '0'
вы на самом деле просто получить50 - 48 = 2
. Посмотрите на таблицу ASCII, чтобы лучше понять этот принцип. Кроме того,'x'
означает получить значение ascii символа в Java.- '0'
работал ... Я думал, что это было какое-то глубокое волшебство в том, как Java интерпретирует символы или что-то в этом роде ... Это действительно был случай, когда я что-то усложнил ...Character.getNumericValue
Это, наверное, лучшее с точки зрения производительности, но это грубо:
Это работает, если вы предполагаете, что ваш символ является цифрой, и только в языках, которые всегда используют Unicode, например, Java ...
источник
"el५"
где५
находится цифра 5 в Индии. :)'0'
возвращать целочисленное значение?Просто вычитая из char '0' (ноль), char (от цифры '0' до '9') можно преобразовать в int (от 0 до 9), например, '5' - '0' дает int 5.
источник
источник
Использование двоичного файла
AND
с0b1111
:источник
Вычитая значение ascii '0' = 48 из char
источник