Java - Formatage Compact des Nombres

Bonjour à tous, futurs sorciers Java ! ?aujourd'hui, nous allons entreprendre un voyage passionnant dans le monde du Formatage Compact des Nombres en Java. Ne vous inquiétez pas si vous êtes nouveau en programmation ; je serai votre guide amical et nous allons procéder pas à pas. À la fin de ce tutoriel, vous formaterez des nombres comme un professionnel !

Java - Compact Number Formatting

Qu'est-ce que le Formatage Compact des Nombres ?

Avant de plonger dans le code, voyons ce que signifie le Formatage Compact des Nombres. Imaginez que vous développez une application de réseaux sociaux et que vous souhaitez afficher le nombre de j'aimes sur un post. Lorsqu'un post a 1 000 000 de j'aimes, il est beaucoup plus propre d'afficher "1M" au lieu du nombre entier. C'est là que le Formatage Compact des Nombres est très utile !

Créer une Instance CompactNumberFormat

Commençons par créer une instance de CompactNumberFormat. C'est comme préparer notre baguette magique pour le formatage des nombres !

import java.text.NumberFormat;
import java.util.Locale;

public class CompactNumberDemo {
public static void main(String[] args) {
NumberFormat formatter = NumberFormat.getCompactNumberInstance(Locale.US, NumberFormat.Style.SHORT);
}
}

Dans ce fragment de code, nous faisons quelques choses :

  1. Nous importons les classes nécessaires.
  2. Nous créons un objet NumberFormat appelé formatter.
  3. Nous utilisons NumberFormat.getCompactNumberInstance() pour obtenir un formateur de nombre compact.
  4. Nous spécifions Locale.US pour utiliser le formatage en anglais américain.
  5. Nous choisissons NumberFormat.Style.SHORT pour des représentations courtes des nombres.

Pensez à Locale comme à l'indication à Java du style de nombre à utiliser pour un pays. C'est comme choisir entre écrire les dates sous la forme MM/JJ/AAAA ou JJ/MM/AAAA !

Formater la Valeur

Maintenant que nous avons notre formateur, utilisons-le pour formater quelques nombres !

public class CompactNumberDemo {
public static void main(String[] args) {
NumberFormat formatter = NumberFormat.getCompactNumberInstance(Locale.US, NumberFormat.Style.SHORT);

long number = 1000000;
String formattedNumber = formatter.format(number);
System.out.println(formattedNumber);  // Sortie : 1M
}
}

Voici ce qui se passe :

  1. Nous créons une variable long number avec la valeur 1 000 000.
  2. Nous utilisons notre formatter pour formater ce nombre.
  3. Nous imprimons le résultat, qui sera "1M".

N'est-ce pas sympa ? Nous avons juste transformé un million en "1M" avec quelques lignes de code !

Exemple de Formatage Compact des Nombres

Étendons notre exemple pour formater différents nombres :

public class CompactNumberDemo {
public static void main(String[] args) {
NumberFormat formatter = NumberFormat.getCompactNumberInstance(Locale.US, NumberFormat.Style.SHORT);

long[] numbers = {1000, 1000000, 1000000000};
for (long number : numbers) {
String formattedNumber = formatter.format(number);
System.out.println(number + " -> " + formattedNumber);
}
}
}

Sortie :

1000 -> 1K
1000000 -> 1M
1000000000 -> 1B

Dans cet exemple :

  1. Nous créons un tableau de long nombres.
  2. Nous utilisons une boucle for-each pour itérer à travers les nombres.
  3. Nous formateons chaque nombre et imprimons les versions originales et formatées.

Voyez comment notre formateur transforme magiquement 1000 en 1K, 1000000 en 1M et 1000000000 en 1B ? C'est comme avoir une potion rétrécissant en Harry Potter !

Formatage Compact des Nombres et Décimales

Parfois, nous pourrions vouloir afficher un peu plus de précision dans nos nombres formatés. Nous pouvons le faire en fixant le nombre maximum de décimales :

public class CompactNumberDemo {
public static void main(String[] args) {
NumberFormat formatter = NumberFormat.getCompactNumberInstance(Locale.US, NumberFormat.Style.SHORT);
formatter.setMaximumFractionDigits(2);

double[] numbers = {1234, 12345, 123456, 1234567};
for (double number : numbers) {
String formattedNumber = formatter.format(number);
System.out.println(number + " -> " + formattedNumber);
}
}
}

Sortie :

1234.0 -> 1.23K
12345.0 -> 12.35K
123456.0 -> 123.46K
1234567.0 -> 1.23M

Voici ce que nous avons fait :

  1. Nous avons fixé le nombre maximum de décimales à 2 en utilisant setMaximumFractionDigits(2).
  2. Nous avons utilisé un tableau de double nombres pour plus de précision.
  3. Nous avons formaté et imprimé chaque nombre.

Remarquez comment nous voyons maintenant des décimales dans nos nombres formatés ? C'est comme zoomer sur une carte pour voir plus de détails !

Conclusion

Félicitations ! Vous avez justement appris comment utiliser le Formatage Compact des Nombres en Java. Cette fonctionnalité est incroyablement utile lorsque vous avez besoin d'afficher de grands nombres de manière conviviale. Rappelez-vous, un bon programmeur n'est pas seulement celui qui fait fonctionner les choses, mais aussi celui qui les rend faciles à comprendre et à utiliser.

Au fur et à mesure de votre parcours en Java, vous découvrirez de nombreuses fonctionnalités plus passionnantes. Continuez à pratiquer, restez curieux et, surtout, amusez-vous à coder ! Qui sait, peut-être que vous créerez un jour la prochaine grande application de réseaux sociaux, et vous utiliserez le Formatage Compact des Nombres pour montrer combien de millions d'utilisateurs vous avez ! ?

Bon codage, futurs étoiles Java ! ?

Credits: Image by storyset