Описание функции
Format
Возвращает форматированную строку.
Format ( text.s, *value1 = 0[, *value2 = 0[, *value3 = 0[, *value4 = 0[, *value5 = 0[, *value6 = 0[, *value7 = 0[, *value8 = 0[, *value9 = 0[, *value10 = 0[, *value11 = 0]]]]]]]]]] )
Параметры
text | Строка-шаблон, содержащая управляющие последовательности. |
value1-value11 |
Передаваемые параметры в виде указателей на данные. Их количество задаётся и в объявлении функции, в зависимости сколько параметров вам нужно передать. |
Примечания
Каждая "переменная" (*value1...*value11) является указателем на данные.Тип | Тип переменной | Выходной формат |
---|---|---|
b | Целое | целое число размером байт, от -127 до 127. |
a | Беззнаковое целое | Беззнаковый байт 0-255. |
w | Целое | Слово, 2 байта, от - 32768 до +32767. |
u | Беззнаковое целое | Беззнаковое слово, 2 байта, от 0 до +65535. |
l | Long, 4 байта | Long, 4 байта от -2147483648 до +2147483647. |
i | Целое | Integer, целое число, взависимости от x32 и x64 соотвественно как Long и Quad. |
f | С плавающей точкой | 4 байта. Выходная запись имеет вид [ - ]dddd.dddd, где dddd одна и более десятичных цифр. Количество цифр перед десятичной точкой зависит от величины числа, и количество цифр после десятичной точки зависит от спецификатора точности. |
q | Quad, 8 байт | Quat, 8 байт от - 9223372036854775808 до +9223372036854775807. |
d | Double двойное | Двойное число, высокая точность. Для отрицательной экспоненты 123.5e-20 возвращает 0, поэтому указать точность, число цифр после запятой. |
x | Целое | Шестнадцатеричное целое число без знака. Символы "abcdef" в нижнем регистре. |
X | Целое | Аналогично предыдущему x, но "ABCDEF" в верхнем регистре. |
s | Строка | Строка. |
c | Символ | Код символа как Integer, 2 байта в юникодном компиляторе. |
Флаг | Значение | По умолчанию |
---|---|---|
- | Устанавливает левое выравнивание результата в пределах ширины области. | Правое выравнивание. |
+ | Устанавливает префикс выходного значения, знак "+" или "-" | Знак появляется только для отрицательных величин (-). |
'0 '[символ] | Если спецификатор ширины с префиксом '0, то нули добавляются до заполнения минимальной ширины. Вместо 0 может быть любой символ. Если нет символа, то заполняется пробелами. | Пробел. |
См. также
sprintfПример
; mk-soft
; https://www.purebasic.fr/english/viewtopic.php?t=32026
EnableExplicit
XIncludeFile "Format.pbi"
Define Time$, n, u, f.f
; Пример 1
n = 43951789
f = -1234.1234
u = -43951789
; q = 43951789
; учтите, что двойное %%, выводит символ как есть, буквально "%"; здесь \n - перенос строки, \t - табуляция
Debug Format("%%i = %i", @n) ; "43951789" стандартное целое Integer
Debug Format("%%f = %10.4f", @f) ; "-4395.1789" дробное число с плавающей точкой
Debug Format("%%x = %06x", @n) ; "29ea6ad" шестнадцатеричный вид (в нижнем регистре)
Debug Format("%%X = %06X", @n) ; "29EA6AD" шестнадцатеричный вид (в верхнем регистре)
Debug Format("%%+i = %+i", @n) ; "+43951789" добавляет знак указывающий положительное или отрицательное число
Debug Format("%%+i = %+i", @u) ; "-43951789" -//-
Debug Format("%%+i <0= %+i", @u) ; "-43951789" знак указывающий отрицательное число
Debug "—————————"
Define y = 2008, m = 4, d = 1, h = 8, i = 45, s = 9
Debug Format("%04i-%'02i-%'02i", @y, @m, @d) ; дата
Debug Format("%'02i:%'02i:%'02i", @h, @i, @s) ; время
Debug Format("%'04i-%'02i-%'02i %'02i:%'02i:%'02i", @y, @m, @d, @h, @i, @s) ; дата и время
Debug "—————————"
; Пример 2
Time$ = "5" ; только цифра от 0 до 9, проще использовать %d
; В многоязычном интерфейсе позволяет вставить переменную в любую позицию.
Debug Format("%s minutes passed", @Time$)
Debug Format("прошло %s минут", @Time$)
Debug "—————————"
n = $F4E6DC
Debug Format("%06X", @n)
Debug "Число цвет в шестнадцатеричном виде"
Debug Hex(n, #PB_Quad)