IPB
ЛогинПароль:

> Правила раздела!

1. Заголовок или название темы должно быть информативным !
2. Все тексты фрагментов программ должны помещаться в теги [code] ... [/code] или [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ" и используйте ПОИСК !
4. НЕ используйте форум для личного общения!
5. Самое главное - это раздел теоретический, т.е. никаких задач и программ (за исключением небольших фрагментов) - для этого есть отдельный раздел!

> Численный эквивалент строки
kosyak
сообщение 22.10.2009 16:20
Сообщение #1


Пионер
**

Группа: Пользователи
Сообщений: 100
Пол: Мужской

Репутация: -  0  +


Доброе время суток!

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


Есть идеи?? заранее благодарен
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
kosyak
сообщение 22.10.2009 17:36
Сообщение #2


Пионер
**

Группа: Пользователи
Сообщений: 100
Пол: Мужской

Репутация: -  0  +


Так не пойдет. Если будет массив [100, 100а, 100б, 200а, 200б, 200в], то должно получится 2 интервала:
[100-100б], [200а-200в];

Проблема только в представлении строки как числа. Чтобы каким то образом можно было определить подряд ли идут номра или нет.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

Сообщений в этой теме


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия 21.07.2025 21:06
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"