Функциональный блок STR_FORMAT

Функциональный блок STR_FORMAT возвращает отформатированную строку.

Этот функциональный блок соответствует функции sprintf в C++.

Примечание: Этот функциональный блок может иметь более двух входов. Вы можете щелкнуть правой кнопкой мыши на функциональном блоке, чтобы добавить еще один вход.

Вход Format

Вход определяет форматирование. Оно состоит из одного или нескольких инструкций: обычные символы (кроме %), которые копируются непосредственно в результат, и инструкции по преобразованию, каждая из которых запрашивает свои собственные параметры.

При этом инструкция по преобразованию следует следующему прототипу:

%[ArgNum$][Flags][Weite][.Präzision]Spezifizierer.
ArgNum

Целое число, за которым следует знак доллара $, указывающее номер входа STR#, который должен использоваться для преобразования.

Flags
Flag Описание
- Выравнивание по левому краю в пределах указанной ширины поля; выравнивание по правому краю является стандартным.
+ Положительные числа с плюсом +; по умолчанию выводятся только отрицательные числа со знаком минус.
(Пробел) Заполняет результат пробелами. Это стандартное значение.
0 Заполняет слева нулями. С спецификатором s это также может заполнить справа нулями.
'(Символ) Заполняет результат указанным символом.
Weite

Целое число, указывающее, сколько символов (минимум) должно содержать преобразованный результат.

Präzision

Значение точки . за которой следует целое число зависит от спецификатора:

  • Для спецификаторов e, E, f и F: Это указывает количество знаков после запятой, которые должны быть выведены после десятичного разделителя (по умолчанию это 6).
  • Для спецификаторов g и G: Максимальное количество значимых цифр после запятой.
  • Для спецификатора s: Ведет себя как точка обрезки, указывающая максимальное количество символов в строке.

Примечание: Если точка указана без явного значения для точности, предполагается 0.

Spezifizierer
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

Вход STR1..STR#

Один или несколько входов определяют соответствующее значение для замены в указанной строке на входе FORMAT.

Выход

Возвращает сгенерированную строку.