void printf( format [, arg2 ...] )

Функция printf выводит с помощью функции echo неограниченное количество параметров, следуя преобразованиям, полученным в первом параметре. Идентична соответствующей функции в C++.
Список параметров
stringformat

Строка преобразования параметров.

Синтакис форматирования значения имеет имеет следующий вид:

%[flags][width][.precision][length]specifier

Модификатор specifier - код модифицируемого формата, находится в конце синтаксиса и является обязательным. Остальные модификаторы - не обязательны.

specifier Описание
%s Строка. При использовании подификаторов width или length длина строки высчитывается с помощью оператора #. Перегрузка этого оператора позволяет поддерживать любые кодировки и национальные символы, в том числе UTF-8
Символ. Параметр преобразуется в строку, после чего вырезается первый символ методом String.sub(0, 1). Это позволяет прегружать метод sub для поддержки разных кодировок.
%d, %i Целое десятичное число.
%o Целое восьмеричное число.
%b Целое двоичное число.
%x, %X Целое шестнадцатеричное число.
%n Число. При выводе используется дружелюбный для человека формат, например, число 0.93000000000000005 отобразится как 0.93
%e Число. При выводе используется научный формат, например, -1234.456e+78
%E Число. При выводе используется научный формат, например, -1234.456E+78
%f Число с плавающей точкой, выводится без экспоненты, например, 123.456
%g Число. При выводе используется формат %e или %f, в зависимости от того, что дает более компактное представление.
%G Число. При выводе используется формат %E или %f, в зависимости от того, что дает более компактное представление.
%% Символ %
flags Описание
- Прижимает значение к левому краю, по умолчанию - к правому. Используется в сочетании с модификатором width
+ При выводе числа вначале отображается + или - в зависимости от знака числа. По умолчанию + не отображается для положительных чисел.
(пробел) При выводе числа вначале отображается пробел для положительных чисел.
# Модификатор #, стоящий перед спецификаторами g, G, f, e или E, гарантирует, что число будет содержать десятичную точку, даже если оно не имеет дробной части. Если этот модификатор стоит перед спецификаторами x или X, шестнадцатеричные числа выводятся с префиксом 0x. Если же символ # будет указан перед спецификатором o, число будет дополнено ведущими нулями. К другим спецификаторам модификатор # применять нельзя.
width Описание
(число) Ширина поля. Если выводимое значение короче, чем заданная ширина, то результат дополняется пробелами. Результат не обрезается, если занимает больше заданной ширины.
* Ширина поля задается в параметре.
precision Описание
.(число)

Точность. Точный смысл этого модификатора зависит от кода модифицируемого формата.

Для форматов e, E и f модификатор точности означает количество цифр после десятичной точки. Например, форматный код %10.4f выведет на экран число, у которого количество цифр не превышает 10, четыре из которых размещаются после десятичной точки.

Если модификатор применяется к спецификаторам формата g или G, он задает количество значащих цифр.

Для чисел точность может быть отрицательная (см. math.round).

Если модификатор используется для вывода строк, он задает максимальную длину поля. Например, спецификатор %5.7s означает, что на экран будет выведена строка, состоящая как минимум из пяти символов, длина которой не превышает семи. Если строка окажется длиннее, последние символы будут отброшены.

По умолчанию вывод выравнивается по правому краю. Иначе говоря, если ширина поля больше, чем выводимые данные, результаты прижимаются к правому краю. Вывод можно выровнять по левому краю, поставив перед символом % знак "минус". Например, спецификатор %-10.2f выравнивает число с двумя знаками после точки по левому краю поля, состоящего из 10 позиций.

* Точность поля задается в параметре.
Возвращаемое значение Функция ничего не возвращает

Если Вы нашли ошибку, помогите пожалуйста её исправить. Для этого откройте исходник этой страницы, исправьте ошибку и сделайте Pull request. Присоединяйтесь к сообществу ObjectScript, также Вы можете сделать fork проекта для совместной работы.

Fork me on GitHub