Преобразовать в число
Описание
Блок преобразует переданное значение (строку или число) в число одного из двух видов:
- обычное число — число с плавающей точкой (
float). Подходит для большинства вычислений; - точное число — число с фиксированной точностью (
Decimal). Используется там, где недопустима погрешность двоичного представления, например при работе с денежными суммами.
Перед преобразованием из строки удаляются все пробелы (в том числе разделители разрядов вида 1 234,56), а разделитель дробной части приводится к точке. Если строка пустая или не является числом, блок завершает работу с ошибкой и сообщает, какое значение не удалось преобразовать.
Описание параметров
Состав параметров блока зависит от выбранного вида числа: для обычного числа доступен только входной разъём, для точного числа появляются дополнительные настройки.
-
Преобразовать в — значение, которое требуется преобразовать (строка или число);
Тип данных:
str (Строка) | int (Целое число) | float (Число с плавающей точкой)Пример:
1 234,56 -
Вид числа — выпадающий список рядом с входным разъёмом:
Тип данных:
dropdown (Выпадающий список)Пример:
обычное число- обычное число — результат возвращается как
float; - точное число — результат возвращается как
Decimal;
- обычное число — результат возвращается как
-
Точность — режим задания количества знаков после запятой (только для точного числа):
Тип данных:
dropdown (Выпадающий список)Пример:
Авто- Авто — количество знаков берётся из исходного значения без округления;
- Фиксированная — у блока появляется входной разъём, в который передаётся количество знаков после запятой (целое число от 0 до 10). Если разъём оставить пустым, используется точность 0 знаков;
-
Разделитель дробной части — какой символ в исходной строке считать разделителем дробной части (только для точного числа):
Тип данных:
dropdown (Выпадающий список)Пример:
Авто- Авто — разделитель определяется автоматически: если в строке есть и точка, и запятая, разделителем считается тот символ, который стоит правее, а второй трактуется как разделитель разрядов;
- , — запятая. Точки в строке удаляются как разделители разрядов;
- . — точка. Запятые в строке удаляются как разделители разрядов;
-
Режим округления — правило округления до заданной точности (только для точного числа с фиксированной точностью):
Тип данных:
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 преобразуется в точное число с двумя знаками после запятой, результат показывается пользователю.
- В переменную amount_text записывается строка
1 234,567; - Добавляется блок Преобразовать в, в разъём передаётся переменная amount_text;
- В выпадающем списке выбирается точное число;
- В параметре Точность выбирается Фиксированная, в появившийся разъём передаётся число
2; - Параметры Разделитель дробной части и Режим округления оставляются со значениями Авто и Обычный;
- Результат сохраняется в переменную amount и показывается блоком Уведомление пользователя.
Результат
Вывод результата на экран: