|
Как организовать проверку на вхождение в диапазон. | ☑ | ||
---|---|---|---|---|
0
igorby
14.08.15
✎
09:34
|
Допустим есть диапазоны:
0-9, 10-19, 20-29 и тд. Получаем некое число и нужно проверить в какой диапазон оно входит. Можно конечно использовать условие на больше меньше, но может есть какой вариан по красивее или готовая типовая функция есть? |
|||
1
shuhard_серый
14.08.15
✎
09:36
|
(0) в данном случае можно делить на 10 и брать целую часть, это и будет номер диапазона =)
|
|||
2
wms
14.08.15
✎
09:38
|
запросом
|
|||
3
igorby
14.08.15
✎
09:38
|
нет, пример условный, нужен универсальный механизм....
|
|||
4
МихаилМ
14.08.15
✎
09:38
|
диапазоны могут пересекаться?
|
|||
5
magicSan
14.08.15
✎
09:39
|
(0) длина диапозона постояна?
|
|||
6
shuhard_серый
14.08.15
✎
09:39
|
(3)[нужен универсальный механизм.]
генеришь запрос в цикле с произвольным beetwin |
|||
7
magicSan
14.08.15
✎
09:43
|
(6) Циклы для неудачников.
делаешь спсиокзначений - каждое значение начало диапозона, в запросе находишь первое значение больше которого задаваемое число , берешь следющие за ним . профит |
|||
8
magicSan
14.08.15
✎
09:44
|
(7) Следующие можно не брать - нашли позицию из списка берешь следующий элимент отнимаешь 1 видишь диапозон
|
|||
9
Timon1405
14.08.15
✎
09:45
|
УТ11
// Определяет, является ли символ разделителем. // // Параметры: // КодСимвола - Число - код проверяемого символа; // РазделителиСлов - Строка - символы разделителей. // // Возвращаемое значение: // Булево - истина, если символ является разделителем. // Функция ЭтоРазделительСлов(КодСимвола, РазделителиСлов = Неопределено) Экспорт Если РазделителиСлов <> Неопределено Тогда Возврат Найти(РазделителиСлов, Символ(КодСимвола)) > 0; КонецЕсли; Диапазоны = Новый Массив; Диапазоны.Добавить(Новый Структура("Мин,Макс", 48, 57)); // цифры Диапазоны.Добавить(Новый Структура("Мин,Макс", 65, 90)); // латиница большие Диапазоны.Добавить(Новый Структура("Мин,Макс", 97, 122)); // латиница маленькие Диапазоны.Добавить(Новый Структура("Мин,Макс", 1040, 1103)); // кириллица Диапазоны.Добавить(Новый Структура("Мин,Макс", 1025, 1025)); // символ "Ё" Диапазоны.Добавить(Новый Структура("Мин,Макс", 1105, 1105)); // символ "ё" Диапазоны.Добавить(Новый Структура("Мин,Макс", 95, 95)); // символ "_" Для Каждого Диапазон Из Диапазоны Цикл Если КодСимвола >= Диапазон.Мин И КодСимвола <= Диапазон.Макс Тогда Возврат Ложь; КонецЕсли; КонецЦикла; Возврат Истина; КонецФункции |
|||
10
igorby
14.08.15
✎
09:46
|
(7) спасибо я уже тоже нашел....
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |