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

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

image_1

Описание

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

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

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


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

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

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

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

    Пример: 1 234,56

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

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

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

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

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

    Пример: Авто

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

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

    Пример: Авто

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

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

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

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

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

Тип результата зависит от вида числа, настройки точности и исходного значения:

Вид числаИсходное значениеТип результатаРезультат
Обычное числоЦелое число или строка с целым числом без дробной части: 5, "-12", "1 000"int5, -12, 1000
Обычное числоДробное число или строка с дробной частью либо экспонентой: 5.0, "5.0", "5,5", "1e3"float5.0, 5.0, 5.5, 1000.0
Точное число, точность АвтоЛюбое число: "5", "5.00"Decimal5, 5.00
Точное число, фиксированная точность 0Любое число: "7", "2.5" (режим округления Обычный)int7, 3
Точное число, фиксированная точность больше 0Любое число: "7" с точностью 2Decimal7.00

Тип данных: int (Целое число) | 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