Вопрос № 58067: Привет экспертам! У меня к вам вопрос. Имеется 11-разрядное число, к примеру, 12345678912 и мне нужно в 10-проходном цикле выделить из этого числа каждый разряд: [1]2345678912, 1[2]345678912, 12[3]45678912, 123[4]5678912 и т.д. Как это можно осуществ...
Вопрос № 58.067
Привет экспертам! У меня к вам вопрос. Имеется 11-разрядное число, к примеру, 12345678912 и мне нужно в 10-проходном цикле выделить из этого числа каждый разряд: [1]2345678912, 1[2]345678912, 12[3]45678912, 123[4]5678912 и т.д. Как это можно осуществить в 1С.
Отправлен: 07.10.2006, 21:42
Вопрос задал: Endru (статус: Посетитель)
Всего ответов: 3 Мини-форум вопроса >>> (сообщений: 0)
Отвечает: svsrus
Здравствуйте, Endru!
Функция Сред(<Строка>,<Число1>,<Число2>)
Назначение:
Возвращает подcтроку исходной строки, заданную номером позиции и числом символов.
Параметры:
<Строка> - строка, содержащая извлекаемые символы;
<Число1> - определяет позицию первого символа, извлекаемого из строки (начиная с 1);
<Число2> - количество символов, которое должна вернуть функция (если опущен, то до конца строки).
Т.е. в твоем случае будет выглядеть примерно так:
Для i = 1 По 10 Цикл
Сред(Строка(ТвоеЧисло), i, 1);
КонецЦикла;
Ответ отправил: svsrus (статус: 2-ой класс)
Ответ отправлен: 07.10.2006, 23:30 Оценка за ответ: 5 Комментарий оценки: Спасибо!
Отвечает: Краюшкин Игорь Валерьевич
Здравствуйте, Endru!
ЧислоСтрокой = Строка(НашеЧисло);
Для i = 1 По СтрДлина(ЧислоСтрокой) Цикл
Цифра = Число(Сред(ЧислоСтрокой, i, 1));
КонецЦикла;
Ответ отправил: Краюшкин Игорь Валерьевич (статус: 4-ый класс)
Ответ отправлен: 08.10.2006, 17:05 Оценка за ответ: 5 Комментарий оценки: Спасибо!
Отвечает: Karanskiy Arkadiy
Здравствуйте, Endru!
Назовем, что МоеЧисло, это переменная, в которой как раз храниться твое выражение, и оно как я понял числового вида.
Чтобы работать так как Вы хотите, то обязательно надо переводить его в Строку, т.е.
Стр = Строка(МоеЧисло);
Пока П <= 10 Цикл
Сим = Сред(Стр, П, 1); // В перем Сим как раз будет нах-ся необходимый символ
// если этот символ необходимо получать в числовом виде, а не в текстовом, то тогда надо дописать след. строку Чис = Число(Сим);
П = П+1;
КонецЦикла;
Сим = Сред(Стр, П, 1); // Эта строчка необходимы, для выделения последнего 11-ого символа.
Удачи...
Ответ отправил: Karanskiy Arkadiy (статус: 4-ый класс)
Ответ отправлен: 09.10.2006, 16:39