Как преобразовать строку в число без функции Число() в 1С?

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

Просмотр 1 ветки ответов
  • Автор
    Сообщения
    • #36692
      Фото аватараOdineski
      Участник

        Дано: Входящее значение Тип Строка.
        Задача: Полученную строку преобразовать к числу и увеличить на 5, вывести полученный результат.
        Преобразование исходной строки к числу функцией «Число()» использовать нельзя.

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

          Если нельзя использовать функцию Число(), то можно сделать преобразование строки в число вручную, например, через разбор символов и вычисление значения.

          Пример кода 1С (BSL), который преобразует строку с целым числом в число и прибавляет 5:

          Объяснение:
          — Функция СтрокаВЧисло вручную разбирает строку посимвольно.
          — Проверяет знак (минус).
          — Для каждого символа проверяет, что это цифра.
          — Преобразует символ в цифру через позицию в строке «0123456789».
          — Формирует число.
          — Возвращает число с учётом знака.
          — После этого прибавляем 5 и выводим.

          Так вы обходите запрет на использование функции Число().

          Если нужна поддержка дробных чисел — задача усложняется, но для целых чисел этот способ работает.

          Рекомендую посмотреть примеры работы со строками и символами в 1С, например здесь:
          https://helpf.pro/faq/view/268.html (функция проверки числа и работа с символами)

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