
Функциональный блок STR_FORMAT возвращает отформатированную строку.
Этот функциональный блок соответствует функции sprintf в C++.
Примечание: Этот функциональный блок может иметь более двух входов. Вы можете щелкнуть правой кнопкой мыши на функциональном блоке, чтобы добавить еще один вход.
Вход определяет форматирование. Оно состоит из одного или нескольких инструкций: обычные символы (кроме %), которые копируются непосредственно в результат, и инструкции по преобразованию, каждая из которых запрашивает свои собственные параметры.
При этом инструкция по преобразованию следует следующему прототипу:
%[ArgNum$][Flags][Weite][.Präzision]Spezifizierer.
Целое число, за которым следует знак доллара $, указывающее номер входа STR#, который должен использоваться для преобразования.
| Flag | Описание |
|---|---|
| - | Выравнивание по левому краю в пределах указанной ширины поля; выравнивание по правому краю является стандартным. |
| + | Положительные числа с плюсом +; по умолчанию выводятся только отрицательные числа со знаком минус. |
| (Пробел) | Заполняет результат пробелами. Это стандартное значение. |
| 0 | Заполняет слева нулями. С спецификатором s это также может заполнить справа нулями. |
| '(Символ) | Заполняет результат указанным символом. |
Целое число, указывающее, сколько символов (минимум) должно содержать преобразованный результат.
Значение точки . за которой следует целое число зависит от спецификатора:
Примечание: Если точка указана без явного значения для точности, предполагается 0.
| Spezifizierer | Описание |
|---|---|
| % | Знак процента. Параметр не требуется. |
| b | Параметр рассматривается как целое число и выводится в двоичном формате. |
| c | Параметр рассматривается как целое число и выводится как символ из набора ASCII. |
| d | Параметр рассматривается как целое число и выводится в виде десятичного числа (со знаком). |
| e | Параметр рассматривается как число в научной нотации (например, 1.2e+2). Указание точности означает количество знаков после десятичного разделителя. |
| E | Как спецификатор e, но пишет заглавную букву (например, 1.2E+2). |
| f | Параметр рассматривается как число с плавающей запятой и выводится в виде числа с плавающей запятой (в зависимости от локали). |
| F | Параметр рассматривается как число с плавающей запятой и выводится в виде числа с плавающей запятой (независимо от локали). |
| g | Общий формат. Пусть P будет точностью, если она не равна нулю, 6, если точность не указана или 1, если точность равна нулю. Тогда, если преобразование с помощью E имело бы экспоненту X: Если P > X ≥ −4, то преобразование выполняется со спецификатором f и точностью P - (X + 1). В противном случае как с спецификатором e и точностью P - 1. |
| G | Как спецификатор g, но используется E и F. |
| o | Параметр рассматривается как целое число и выводится в восьмеричном формате. |
| s | Параметр рассматривается как строка и выводится. |
| u | Параметр рассматривается как целое число и выводится в виде десятичного числа без знака. |
| x | Параметр рассматривается как целое число и выводится в шестнадцатеричном формате (с строчными буквами). |
| X | Параметр рассматривается как целое число и выводится в шестнадцатеричном формате (с заглавными буквами). |
Внимание: Спецификатор c игнорирует заполнение и ширину.
Предупреждение: Попытка использования комбинации строк с указанием ширины и наборов символов, которые ожидают более одного байта на символ, приводит к непредсказуемым результатам.
Переменные преобразуются в тип, соответствующий спецификатору:
| Тип | Spezifizierer |
|---|---|
| Строка | s |
| Целое число | d, u, c, o, x, X, b |
| Число с плавающей запятой | g, G, e, E, f, F |
Один или несколько входов определяют соответствующее значение для замены в указанной строке на входе FORMAT.
Возвращает сгенерированную строку.