Printf
Das Printf
-Modul bietet formatierte Ausgabefunktionen, die den printf
-Funktionen der C-Standardbibliothek ähnlich sind. Es ermöglicht das formatierte Drucken in einen Ausgabestrom oder in einen String.
Printf.@printf
— Macro@printf([io::IO], "%Fmt", args...)
Drucke args
mit einer C printf
-Stil Formatierungsspezifikationszeichenfolge. Optional kann ein IO
als erstes Argument übergeben werden, um die Ausgabe umzuleiten.
Beispiele
julia> @printf "Hallo %s" "Welt"
Hallo Welt
julia> @printf "Wissenschaftliche Notation %e" 1.234
Wissenschaftliche Notation 1.234000e+00
julia> @printf "Wissenschaftliche Notation drei Stellen %.3e" 1.23456
Wissenschaftliche Notation drei Stellen 1.235e+00
julia> @printf "Dezimal zwei Stellen %.2f" 1.23456
Dezimal zwei Stellen 1.23
julia> @printf "Auf Länge 5 aufgepolstert %5i" 123
Auf Länge 5 aufgepolstert 123
julia> @printf "Mit Nullen auf Länge 6 aufgepolstert %06i" 123
Mit Nullen auf Länge 6 000123
julia> @printf "Verwende kürzere von Dezimal oder wissenschaftlich %g %g" 1.23 12300000.0
Verwende kürzere von Dezimal oder wissenschaftlich 1.23 1.23e+07
julia> @printf "Verwende dynamische Breite und Präzision %*.*f" 10 2 0.12345
Verwende dynamische Breite und Präzision 0.12
Für eine systematische Spezifikation des Formats siehe hier. Siehe auch @sprintf
, um das Ergebnis als String
zu erhalten, anstatt dass es gedruckt wird.
Hinweise
Inf
und NaN
werden konsistent als Inf
und NaN
für die Flags %a
, %A
, %e
, %E
, %f
, %F
, %g
und %G
gedruckt. Darüber hinaus, wenn eine Fließkommazahl gleich nah an den numerischen Werten von zwei möglichen Ausgabestrings ist, wird der Ausgabestring gewählt, der weiter von null entfernt ist.
Beispiele
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
Ab Julia 1.8 werden die Breiten von %s
(String) und %c
(Zeichen) unter Verwendung von textwidth
berechnet, das z.B. Zeichen mit null Breite (wie kombinierende Zeichen für diakritische Zeichen) ignoriert und bestimmte "breite" Zeichen (z.B. Emojis) als Breite 2
behandelt.
Dynamische Breiten-Spezifizierer wie %*s
und %0*.*f
erfordern Julia 1.10.
Printf.@sprintf
— Macro@sprintf("%Fmt", args...)
Gibt die formatierte Ausgabe von @printf
als Zeichenfolge zurück.
Beispiele
julia> @sprintf "dies ist ein %s %15.1f" "test" 34.567
"dies ist ein test 34.6"
Printf.Format
— TypePrintf.Format(format_str)
Erstellen Sie ein C printf-kompatibles Formatobjekt, das zur Formatierung von Werten verwendet werden kann.
Der Eingabewert format_str
kann beliebige gültige Formatbezeichnerzeichen und Modifikatoren enthalten.
Ein Format
-Objekt kann an Printf.format(f::Format, args...)
übergeben werden, um einen formatierten String zu erzeugen, oder an Printf.format(io::IO, f::Format, args...)
, um den formatierten String direkt an io
auszugeben.
Zur Vereinfachung kann die Printf.format"..."
-String-Makroform verwendet werden, um ein Printf.Format
-Objekt zur Makro-Expansionszeit zu erstellen.
Printf.Format
erfordert Julia 1.6 oder höher.
Printf.format
— FunctionPrintf.format(f::Printf.Format, args...) => String
Printf.format(io::IO, f::Printf.Format, args...)
Wenden Sie ein printf-Formatobjekt f
auf die bereitgestellten args
an und geben Sie die formatierte Zeichenfolge zurück (1. Methode) oder drucken Sie direkt auf ein io
-Objekt (2. Methode). Siehe @printf
für weitere Details zur Unterstützung von C printf
.