Перейти к содержимому

Преобразовать в число

image_1

Описание

Блок преобразует переданное значение (строку или число) в число одного из двух видов:

  • обычное число — число с плавающей точкой (float). Подходит для большинства вычислений;
  • точное число — число с фиксированной точностью (Decimal). Используется там, где недопустима погрешность двоичного представления, например при работе с денежными суммами.

Перед преобразованием из строки удаляются все пробелы (в том числе разделители разрядов вида 1 234,56), а разделитель дробной части приводится к точке. Если строка пустая или не является числом, блок завершает работу с ошибкой и сообщает, какое значение не удалось преобразовать.


Описание параметров

Состав параметров блока зависит от выбранного вида числа: для обычного числа доступен только входной разъём, для точного числа появляются дополнительные настройки.

image_4
  1. Преобразовать в — значение, которое требуется преобразовать (строка или число);

    Тип данных: str (Строка) | int (Целое число) | float (Число с плавающей точкой)

    Пример: 1 234,56

  2. Вид числа — выпадающий список рядом с входным разъёмом:

    Тип данных: dropdown (Выпадающий список)

    Пример: обычное число

    • обычное число — результат возвращается как float;
    • точное число — результат возвращается как Decimal;
  3. Точность — режим задания количества знаков после запятой (только для точного числа):

    Тип данных: dropdown (Выпадающий список)

    Пример: Авто

    • Авто — количество знаков берётся из исходного значения без округления;
    • Фиксированная — у блока появляется входной разъём, в который передаётся количество знаков после запятой (целое число от 0 до 10). Если разъём оставить пустым, используется точность 0 знаков;
  4. Разделитель дробной части — какой символ в исходной строке считать разделителем дробной части (только для точного числа):

    Тип данных: dropdown (Выпадающий список)

    Пример: Авто

    • Авто — разделитель определяется автоматически: если в строке есть и точка, и запятая, разделителем считается тот символ, который стоит правее, а второй трактуется как разделитель разрядов;
    • , — запятая. Точки в строке удаляются как разделители разрядов;
    • . — точка. Запятые в строке удаляются как разделители разрядов;
  5. Режим округления — правило округления до заданной точности (только для точного числа с фиксированной точностью):

    Тип данных: dropdown (Выпадающий список)

    Пример: Обычный

    • Обычный — математическое округление, половина округляется от нуля (2.5 → 3);
    • Банковский — половина округляется до ближайшего чётного (2.5 → 2, 3.5 → 4);
    • Усечение — лишние знаки отбрасываются без округления (2.99 → 2);
    • От нуля — округление всегда в сторону увеличения модуля числа (2.01 → 3).

Возвращаемое значение

Число в выбранном виде: float для обычного числа или Decimal для точного числа.

Тип данных: float (Число с плавающей точкой) | decimal (Точное число)

Пример: 1234.56


Пример использования

В данном примере строка с суммой из документа 1 234,567 преобразуется в точное число с двумя знаками после запятой, результат показывается пользователю.

  1. В переменную amount_text записывается строка 1 234,567;
  2. Добавляется блок Преобразовать в, в разъём передаётся переменная amount_text;
  3. В выпадающем списке выбирается точное число;
  4. В параметре Точность выбирается Фиксированная, в появившийся разъём передаётся число 2;
  5. Параметры Разделитель дробной части и Режим округления оставляются со значениями Авто и Обычный;
  6. Результат сохраняется в переменную amount и показывается блоком Уведомление пользователя.
image_2

Результат

Вывод результата на экран:

image_3