
Функціональний блок 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.
Повертає сформований рядок.