Доброе время суток!
Есть такая проблема. Существуют некая последовательность строк(номера товара). Номера обычно имеют вид:
100 100а 100б 101 1000 ну и так далее. Т.е. могут быть и числа и буквы. Необходимо сделать чтобы набор вида: [100,100а,100б,101] перевести в строку "100-101". Т.е. указать интервалами. Как это можно сделать. Пока что придумал только следующее: считываем по одному символу из названия товара, затем проверяем цифра ли это. Если цифра то добавляем ее в целую часть числа, если же нет, то добавляем код символа ASCII в дробную часть. Например: 100a - переведется в число 100,102 (вроде код русской "а" - 102). Соответственно если 100аб - то будет 100.102103. Но тогда проблема если большие названия(не хватит цифр после запятой) и как быть если вдруг встретится буква в началае.
Есть идеи?? заранее благодарен
Численный эквивалент строки |