Функціональний блок 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.

Вивід

Повертає сформований рядок.