Conversion d’un entier en chaîne avec une virgule pour des milliers

Je veux convertir un entier 35634646 pour avoir les milliers “,” donc il devrait être 35.634.646.

Quelle serait la façon la plus rapide de le faire?

System.out.println(NumberFormat.getNumberInstance(Locale.US).format(35634646)); 
 Output: 35,634,646 

Vous demandez le plus rapide, mais peut-être que vous voulez dire “meilleur” ou “correct” ou “typique”?

Vous demandez également des virgules pour indiquer des milliers, mais peut-être que vous voulez dire “sous une forme lisible par l’homme selon la coutume locale de votre utilisateur”?

Vous le faites comme ça:

  int i = 35634646; Ssortingng s = NumberFormat.getIntegerInstance().format(i); 

Les Américains recevront “35.634.646”

Les Allemands auront “35.634.646”

Les Allemands suisses auront “35’634’646”

 int bigNumber = 1234567; Ssortingng formattedNumber = Ssortingng.format("%,d", bigNumber); 
 double value = 21403.3144d; Ssortingng.format("%,.2f", value); 

Sortie

 21,403.31 
  int value = 35634646; DecimalFormat myFormatter = new DecimalFormat("#,###"); Ssortingng output = myFormatter.format(value); System.out.println(output); 

SORTIE : 35,634,646

Les autres réponses sont correctes, mais vérifiez vos parameters régionaux avant d’utiliser "%,d" :

 Locale.setDefault(Locale.US); int bigNumber = 35634646; Ssortingng formattedNumber = Ssortingng.format("%,d", bigNumber); System.out.println(formattedNumber); Locale.setDefault(new Locale("pl", "PL")); formattedNumber = Ssortingng.format("%,d", bigNumber); System.out.println(formattedNumber); 

Résultat:

 35,634,646 35 634 646 

Cette solution a fonctionné pour moi:

 NumberFormat.getNumberInstance(Locale.US).format(Integer.valueOf("Ssortingng Your Number")); 

Si la même chose doit être faite dans le JSP, utilisez:

   

bien sûr pour des valeurs multiples utilisez:

     

Utilisez le spécificateur de format %d avec une virgule: %,d

C’est de loin le moyen le plus facile.

vous ne pouvez pas utiliser un

 System.out.printf("%n%,d",int name); 

La virgule dans le printf devrait append les virgules dans le %d inter.

Pas positif à ce sujet, mais travaille pour moi.

Vous devez d’abord inclure les balises JSTL: –

 <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> <%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %> 

au début de la page