formatage de la sortie D’impression numérique

formatage de la sortie D’impression numérique

auparavant, vous avez vu l’utilisation des méthodesprint Etprintln pour imprimer des chaînes en sortie standard (System.out). Puisque tous les nombres peuvent être convertis en chaînes (comme vous le verrez plus loin dans cette leçon), vous pouvez utiliser ces méthodes pour imprimer un mélange arbitraire de chaînes et de nombres., Le langage de programmation Java a d’autres méthodes, cependant, qui vous permettent d’exercer plus de contrôle sur votre sortie d’impression lorsque les nombres sont inclus.

Le printf et le format des Méthodes

Le java.io le paquet inclut un PrintStream de classe qui a deux méthodes de formatage que vous pouvez utiliser pour remplacer les print et println. Ces méthodes, format et printf, équivalent à un autre., Les familiers de la System.out que vous avez été en utilisant un PrintStream objet, de sorte que vous pouvez invoquer PrintStream méthodes System.out. Ainsi, vous pouvez utiliser format ou printf n’importe où dans votre code où vous avez déjà été à l’aide de print ou println., Par exemple,

System.out.format(.....);

La syntaxe de ces deux java.io.PrintStream méthodes est le même:

public PrintStream format(String format, Object... args)

format est une chaîne qui spécifie la mise en forme pour être utilisé et args est une liste de variables à imprimer à l’aide de cette mise en forme. Un exemple simple serait

le premier paramètre, format, est une chaîne de format spécifiant comment les objets du deuxième paramètre, args, doivent être formatés., La chaîne de format contient du texte brut ainsi que des spécificateurs de format, qui sont des caractères spéciaux qui formatent les arguments de Object... args. (La notation Object... args est appelée varargs, ce qui signifie que le nombre d’arguments peut varier.)

les spécificateurs de Format commencent par un signe de pourcentage ( % ) et se terminent par un convertisseur. Le convertisseur est un caractère indiquant le type d’argument à formater. Entre le signe de pourcentage ( % ) et le convertisseur, vous pouvez avoir des indicateurs et des spécificateurs facultatifs., Il existe de nombreux convertisseurs, des drapeaux, et des prescripteurs, qui sont documentées dans la java.util.Formatter

Voici un exemple de base:

int i = 461012;System.out.format("The value of i is: %d%n", i);

Le %d indique que la variable est un entier décimal. Le %n est un caractère de saut de ligne indépendant de la plate-forme. La sortie est:

The value of i is: 461012

Le printf et format méthodes sont surchargées., Chacun a une version avec la syntaxe suivante:

public PrintStream format(Locale l, String format, Object... args)

pour imprimer des nombres dans le système français (où une virgule est utilisée à la place de la décimale dans la représentation anglaise des nombres à virgule flottante), par exemple, vous utiliseriez:

un exemple

Le tableau suivant répertorie certains des convertisseurs= »28b2e8e596″>, qui suit le tableau.,

Converters and Flags Used in TestFormat.java
Converter Flag Explanation
d A decimal integer.
f A float.
n A new line character appropriate to the platform running the application. You should always use %n, rather than \n.,
tB date & le temps de la conversion—des paramètres régionaux spécifiques nom complet du mois.
td, te date & temps de conversion—2-chiffres du jour dans le mois. td a des zéros de tête au besoin, te ne le fait pas.
ty, ty une date& conversion temporelle—ty = année à 2 chiffres, TY = année à 4 chiffres.
tl date & temps de conversion—heure dans l’horloge de 12 heures.,
tM date & temps de conversion minutes à 2 chiffres, avec des zéros si nécessaire.
tp date & temps de conversion—les paramètres régionaux en am/pm (en minuscule).
tm date & temps de conversion—mois sur 2 chiffres, avec des zéros si nécessaire.,
tD A date & time conversion—date as %tm%td%ty
08 Eight characters in width, with leading zeroes as necessary.
+ Includes sign, whether positive or negative.
, Includes locale-specific grouping characters.
Left-justified..
.3 Three places after decimal point.
10.,3 dix caractères en largeur, justifiés à droite, avec trois places après la virgule décimale.

Le programme suivant montre une partie de la mise en forme que vous pouvez faire avec format. La sortie est affichée entre guillemets doubles dans le commentaire intégré:

Remarque: la discussion dans cette section ne couvre que les bases des méthodes format Et printf. Plus de détails peuvent être trouvés dans la section Basic I/O de la piste essentielle, dans la page « formatage ».,
L’utilisation de String.format pour créer des chaînes est couverte en chaînes.

la classe DecimalFormat

Vous pouvez utiliser la classejava.text.DecimalFormat pour contrôler l’affichage des zéros de début et de fin, des préfixes et des suffixes, des séparateurs de regroupement (milliers) et du séparateur décimal. DecimalFormat offre une grande flexibilité dans le formatage des nombres, mais cela peut rendre votre code plus complexe.,

L’exemple qui suit crée un DecimalFormat objet myFormatter, en passant par une chaîne de modèle de la balise DecimalFormat constructeur., La balise format() méthode DecimalFormat hérite de NumberFormat, est alors appelé par myFormatter—il accepte un double valeur en argument et renvoie le nombre formaté dans une chaîne de caractères:

Voici un exemple de programme qui illustre l’utilisation de la balise DecimalFormat:

La sortie est:

123456.789 ###,###.### 123,456.789123456.789 ###.## 123456.79123.78 000000.000 000123.78012345.67 $###,###.### $12,345.67

Le tableau suivant décrit chaque ligne de sortie.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *