Printf
Модуль Printf
предоставляет функции форматированного вывода, аналогичные printf
стандартной библиотеки C. Он позволяет выводить форматированные значения в выходной поток или в строку.
#
Printf.@printf
— Macro
@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
julia> @printf "Use dynamic width and precision %*.*f" 10 2 0.12345
Use dynamic width and precision 0.12
Систематическую спецификацию этого формата см. здесь. Чтобы узнать, как получить результат в виде 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, длины значений |
Совместимость: Julia 1.10
Для динамических спецификаторов ширины, таких как |
#
Printf.Format
— Type
Printf.Format(format_str)
Создайте объект формата, совместимый с printf из языка C, который можно использовать для форматирования значений.
Входные данные format_str
могут включать любой допустимый символ спецификатора формата и модификаторы.
Объект Format
можно передать в Printf.format(f::Format, args...)
для создания форматированной строки или в Printf.format(io::IO, f::Format, args...)
для вывода форматированной строки непосредственно в io
.
Для удобства можно использовать форму строкового макроса Printf.format"..."
для создания объекта Printf.Format
во время расширения макроса.
Совместимость: Julia 1.6
Для |
#
Printf.format
— Function
Printf.format(f::Printf.Format, args...) => String
Printf.format(io::IO, f::Printf.Format, args...)
Применяет объект формата printf f
к предоставленным аргументам args
и возвращает форматированную строку (1-й метод) или выводит ее непосредственно в объект io
(2-й метод). Дополнительные сведения о поддержке printf
из языка C см. в описании @printf
.