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.@printfMacro
@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
Julia 1.8

À 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.

Julia 1.10

Les spécificateurs de largeur dynamique comme %*s et %0*.*f nécessitent Julia 1.10.

```

source
Printf.@sprintfMacro
@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"
source
Printf.FormatType
Printf.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.

Julia 1.6

Printf.Format nécessite Julia 1.6 ou une version ultérieure.

source
Printf.formatFunction
Printf.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.

source