Документация Engee

Printf

# Printf.@printfMacro

@printf([io::IO], "%Fmt", args...)

Выводит аргументы (args), используя строку спецификации формата в стиле printf из языка C. При необходимости возможна передача IO в качестве первого аргумента для перенаправления вывода.

Примеры

julia> @printf "Hello %s" "world"
Hello world

julia> @printf "Scientific notation %e" 1.234
Scientific notation 1.234000e+00

julia> @printf "Scientific notation three digits %.3e" 1.23456
Scientific notation three digits 1.235e+00

julia> @printf "Decimal two digits %.2f" 1.23456
Decimal two digits 1.23

julia> @printf "Padded to length 5 %5i" 123
Padded to length 5   123

julia> @printf "Padded with zeros to length 6 %06i" 123
Padded with zeros to length 6 000123

julia> @printf "Use shorter of decimal or scientific %g %g" 1.23 12300000.0
Use shorter of decimal or scientific 1.23 1.23e+07

Систематическую спецификацию этого формата см. здесь. Чтобы узнать, как получить результат в виде String вместо его вывода на экран, см. описание @sprintf.

Предупреждения

Значения Inf и NaN всегда выводятся как Inf и NaN для флагов %a, %A, %e, %E, %f, %F, %g и %G. Кроме того, если строка может быть представлена числом с плавающей запятой, которое равноудалено от числовых значений двух равно возможных строк вывода, то выводится строка, значение которой стоит дальше от нуля.

Примеры

julia> @printf("%f %F %f %F", Inf, Inf, NaN, NaN)
Inf Inf NaN NaN

julia> @printf "%.0f %.1f %f" 0.5 0.025 -0.0078125
0 0.0 -0.007812
Совместимость: Julia 1.8

Начиная с версии Julia 1.8, длины значений %s (строка) и %c (символ) вычисляются с помощью функции textwidth, которая, например, игнорирует символы нулевой ширины (в том числе комбинируемые символы для диакритических знаков) и считает некоторые «широкие» символы (такие как эмодзи) имеющими ширину 2.

# Printf.@sprintfMacro

@sprintf("%Fmt", args...)

Возвращает форматированную строку вывода @printf.

Примеры

julia> @sprintf "this is a %s %15.1f" "test" 34.567
"this is a test            34.6"