Printf
Le module Printf
fournit des fonctions de sortie formatée similaires à celles de la fonction printf
de la bibliothèque standard C. Il permet l'impression formatée vers un flux de sortie ou vers une chaîne.
Printf.@printf
— Macro@printf([io::IO], "%Fmt", args...)
Imprime args
en utilisant une chaîne de spécification de format de style C printf
. En option, un IO
peut être passé comme premier argument pour rediriger la sortie.
Exemples
julia> @printf "Hello %s" "world"
Hello world
julia> @printf "Scientific notation %e" 1.234
Notation scientifique 1.234000e+00
julia> @printf "Scientific notation three digits %.3e" 1.23456
Notation scientifique trois chiffres 1.235e+00
julia> @printf "Decimal two digits %.2f" 1.23456
Décimal deux chiffres 1.23
julia> @printf "Padded to length 5 %5i" 123
Rempli à la longueur 5 123
julia> @printf "Padded with zeros to length 6 %06i" 123
Rempli avec des zéros à la longueur 6 000123
julia> @printf "Use shorter of decimal or scientific %g %g" 1.23 12300000.0
Utiliser le plus court entre décimal ou scientifique 1.23 1.23e+07
julia> @printf "Use dynamic width and precision %*.*f" 10 2 0.12345
Utiliser une largeur et une précision dynamiques 0.12
Pour une spécification systématique du format, voir ici. Voir aussi @sprintf
pour obtenir le résultat sous forme de String
au lieu d'être imprimé.
Avertissements
Inf
et NaN
sont imprimés de manière cohérente comme Inf
et NaN
pour les indicateurs %a
, %A
, %e
, %E
, %f
, %F
, %g
, et %G
. De plus, si un nombre à virgule flottante est également proche des valeurs numériques de deux chaînes de sortie possibles, la chaîne de sortie la plus éloignée de zéro est choisie.
Exemples
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
À partir de Julia 1.8, les largeurs de %s
(chaîne) et %c
(caractère) sont calculées en utilisant textwidth
, qui par exemple ignore les caractères de largeur nulle (comme les caractères combinants pour les signes diacritiques) et traite certains caractères "larges" (par exemple les émojis) comme ayant une largeur de 2
.
Les spécificateurs de largeur dynamique comme %*s
et %0*.*f
nécessitent Julia 1.10.
```
Printf.@sprintf
— Macro@sprintf("%Fmt", args...)
Retourne la sortie formatée de @printf
sous forme de chaîne.
Exemples
julia> @sprintf "this is a %s %15.1f" "test" 34.567
"this is a test 34.6"
Printf.Format
— TypePrintf.Format(format_str)
Créez un objet de format compatible avec printf de C qui peut être utilisé pour formater des valeurs.
La chaîne d'entrée format_str
peut inclure n'importe quel caractère de spécificateur de format valide et des modificateurs.
Un objet Format
peut être passé à Printf.format(f::Format, args...)
pour produire une chaîne formatée, ou Printf.format(io::IO, f::Format, args...)
pour imprimer directement la chaîne formatée dans io
.
Pour plus de commodité, la forme de macro de chaîne Printf.format"..."
peut être utilisée pour construire un objet Printf.Format
au moment de l'expansion de la macro.
Printf.Format
nécessite Julia 1.6 ou une version ultérieure.
Printf.format
— FunctionPrintf.format(f::Printf.Format, args...) => String
Printf.format(io::IO, f::Printf.Format, args...)
Appliquez un objet de format printf f
aux args
fournis et renvoyez la chaîne formatée (1ère méthode), ou imprimez directement sur un objet io
(2ème méthode). Voir @printf
pour plus de détails sur le support de C printf
.