Nous savons tous que les programmes doivent parfois formater les nombres, alors qu'est-ce que le formatage des nombres ? Le formatage dit numérique consiste à obtenir une chaîne selon le format spécifié.
Par exemple, supposons que nous souhaitions que 3,141592 conserve jusqu'à 2 décimales, alors la chaîne formatée résultante devrait être 3,14 ; si nous voulons que l'entier 123456789 soit regroupé par « milliers », alors la chaîne formatée résultante devrait être 123 456 789 ; le nombre 12.3456 pour conserver 3 décimales, la partie entière doit afficher au moins 3 chiffres, puis la chaîne formatée obtenue doit être 012.346.
Avant JDK 1.5, les programmes devaient utiliser des classes associées dans le package java.text, telles que la classe DecimalFormat , pour formater les données numériques. La version JDK 1.5 fournit une classe Formatter plus pratique. La classe Formatter fournit une méthode de formatage similaire à la fonction printf du langage C :
format (mode format, liste de valeurs)
Cette méthode renvoie une représentation sous forme de chaîne d'une « liste de valeurs » selon le « mode de formatage ».
Actuellement, Java a fait de la méthode format une méthode statique de la classe String. Par conséquent, le programme peut directement utiliser la classe String pour appeler la méthode format pour formater les nombres.
Le « mode de formatage » dans la méthode format est une séquence de caractères entourée de guillemets doubles, c'est-à-dire une chaîne. Les caractères de cette séquence de caractères sont composés de caractères de format et de caractères ordinaires.
Par exemple : %d et %f dans les résultats de sortie %d, %f, %d sont des symboles de format. Les quatre premiers caractères chinois et les deux virgules au milieu sont des caractères ordinaires. Il convient de noter que tout ce qui n'est pas un caractère. Le symbole de format est considéré. Il s'agit d'un caractère ordinaire. Les étudiants peuvent se référer à la classe java.util.Formatter dans l'API Java pour en savoir plus sur les caractères de format. La chaîne renvoyée par la méthode format est la chaîne après le remplacement des caractères de format en « mode de formatage » par les résultats formatés qu'elle obtient, par exemple :
Strings=String.format(%.2f,3.141592);
Alors s vaut 3,14, car le résultat du formatage %.2f 3,141592 est 3,14.
La « liste de valeurs » dans la méthode format est une liste de variables, de constantes ou d'expressions séparées par des virgules. Assurez-vous que le nombre de caractères de format dans le « mode format » de la méthode de format est le même que le nombre de valeurs répertoriées dans la « liste de valeurs », par exemple :
Strings=String.format(%d元%0.3fkg%d台,123,456.777888,999);
Alors, s vaut 123 yuans, 456,778 kilogrammes et 999 unités.
Par défaut, la méthode de formatage utilise les caractères de formatage en "mode de formatage" afin de formater de gauche à droite les valeurs correspondantes dans la "liste de valeurs", tandis que les caractères ordinaires en "mode de formatage" restent inchangés, par exemple exemple, en supposant le type int Les valeurs de la variable x et de la variable double y sont respectivement 123 et 3,1415926, alors pour :
Strings=String.format(de gauche à droite :%d,%.3f,%d,x,y,100);
Alors, s est de gauche à droite : 123,3,142,100.
Si vous ne souhaitez pas utiliser l'ordre par défaut (de gauche à droite) pour le formatage, vous pouvez également ajouter un symbole d'index devant le caractère de format : index$, par exemple, 1$ signifie le premier de la "liste de valeurs ", 2$ signifie "valeur" 2 dans la liste" pour :
Strings=String.format(pas de gauche à droite :%2$.3f,%3$d,%1$d,x,y,100);
Alors, s n'est pas de gauche à droite : 3,142,100,123.
Remarque : Si vous prévoyez d'inclure des % ordinaires dans le « mode de formatage », vous devez saisir deux % consécutivement lors de l'écriture du code, par exemple :
Strings=String.format(%d%%,89);
Alors, s vaut 89 %.