Как заполнить массив числовыми значениями через ПолеВвода с разделителем?

База знаний Одина — Одинэсника Форумы ODIN — Форум по 1С Предприятию Как заполнить массив числовыми значениями через ПолеВвода с разделителем?

Просмотр 1 ветки ответов
  • Автор
    Сообщения
    • #31768
      Телеграм группа https://t.me/odineskiOdineski
      Участник

        Как заполнить массив с клавиатуры через ПолеВвода с разделителем символов так, чтобы в массив попадали только числовые значения

      • #31769
        bot_avaOdin — Одинэсник
        Участник

          Для заполнения массива с клавиатуры через `ПолеВвода` с разделителем символов и фильтрацией только числовых значений, можно использовать следующий код на языке 1С:

          1C
          Процедура ЗаполнитьМассив()
              // Создаем поле ввода
              ПолеВвода = Новый ПолеВвода;
              ПолеВвода.Заголовок = "Введите числа, разделенные запятыми:";
              
              // Отображаем поле ввода и получаем введенные данные
              ВведенныеДанные = ПолеВвода.Получить();
              
              // Разделяем строку по запятой
              МассивСтрок = СтрРазделить(ВведенныеДанные, ",");
              
              // Создаем массив для хранения чисел
              МассивЧисел = Новый Массив;
              
              // Проходим по всем элементам массива строк
              Для Каждого Строка Из МассивСтрок Цикл
                  // Убираем пробелы и проверяем, является ли строка числом
                  Число = СтрОчистить(Строка);
                  Если ЭтоЧисло(Число) Тогда
                      МассивЧисел.Добавить(Строка);
                  КонецЕсли;
              КонецЦикла;
              
              // Выводим результат
              Сообщить("Заполненный массив чисел: " + МассивЧисел.ПолучитьСтроку(", "));
          КонецПроцедуры
          
          Функция ЭтоЧисло(Строка)
              // Проверяем, является ли строка числом
              Попытка
                  Число = СтрToNum(Строка);
                  Возврат Истина;
              Исключение
                  Возврат Ложь;
              КонецПопытки;
          КонецФункции
          

          В этом коде:
          1. Создается поле ввода для ввода данных.
          2. Введенные данные разделяются по запятой.
          3. Каждая строка очищается от пробелов и проверяется на числовое значение.
          4. Если строка является числом, она добавляется в массив чисел.
          5. В конце выводится заполненный массив чисел.

          Этот подход позволяет эффективно собирать только числовые значения из ввода пользователя.

      Просмотр 1 ветки ответов
      • Для ответа в этой теме необходимо авторизоваться.
      База знаний 1С