1с число в строку



1с число в строку без пробелов

Автор BeardRED задал вопрос в разделе Другие языки и технологии

вопрос программистам 1с. Как в 1с из середины текстовой строки вырезать числа? и получил лучший ответ

Ответ от Makfromkz[гуру]
Функция ЭтоЦифра (лбуква)
Если (лбуква >="0")И (лбуква <="9") Тогда
Возврат Истина;
Иначе
Возврат Ложь;
КонецЕсли;
КонецФункции
//****************
Процедура ИщемЧисла (текст1)
МасЧисел = Новый Массив;
число1 = 0;
делитель = 0.1;
ЦелаяЧасть = Истина;
Для ии = 1 По СтрДлина (текст1) Цикл
буква = Сред (текст1,ии, 1);
Если этоЦифра (буква) Тогда
Если ЦелаяЧасть Тогда
число1 = число1*10+Число (буква) ;
Иначе
число1 =число1+Число (буква) *делитель;
делитель = делитель/10;
КонецЕсли;
ИначеЕсли буква = "." Тогда
ЦелаяЧасть = Ложь;
Иначе // вот сюда попадаем при разделителях
масЧисел. Добавить (число1); // в массив чисел добавляем новое найденное число, все в исходное
делитель = 0.1;
ЦелаяЧасть = Истина;
Число1 = 0;
КонецЕсли;
КонецЦикла;
КонецПроцедуры // после выполнения процедуры имеем массив чисел
// если разделители идут подряд - то получим кучу 0-вых элементов массива

Ответ от BlackKOT[гуру]
СтрЗаменить (ПроизвольныйНаборЧисел, " ", "");
СокрЛП (ПроизвольныйНаборЧисел) ; // перестраховка
Попытка
Число (ПроизвольныйНаборЧисел) ;
Исключение
Сообщить ("Не удалось преобразовать к типу число: "+ПроизвольныйНаборЧисел) ;
КонецПопытки;
------------
блин не понял вопроса сначала
------------
делаем так, заменяем пробелы на символ ";" (как пример) получим что-то типа "23;;;34;22;;;21....и т. д"
потом преобразуем это в СписокЗначений, а после удаляем пустые значения из списка - занавес!
Могу помочь за вознаграждение 🙂

Ответ от Александр Кузьмин[гуру]
В типовых 7.7 (в бухгалтерии, в частности) есть функция глРазложить (). Она как раз создана, чтоб разбирать строки с произвольными разделителями

Ответ от 3 ответа[гуру]
Привет! Вот подборка тем с похожими вопросами и ответами на Ваш вопрос: вопрос программистам 1с. Как в 1с из середины текстовой строки вырезать числа?
 

Ответить на вопрос:

Имя*

E-mail:*

Текст ответа:*
Проверочный код(введите 22):*