Quelle est la meilleure façon de formater le nombre suivant qui m'est donné sous forme de chaîne?
String number = "1000500000.574" //assume my value will always be a String
Je veux que ce soit une chaîne avec la valeur: 1,000,500,000.57
Comment puis-je le formater en tant que tel?
Cela peut également être accompli en utilisant String.format (), qui peut être plus facile et / ou plus flexible si vous formatez plusieurs nombres dans une chaîne.
Pour la chaîne de format "% ,. 2f" - "," signifie des groupes de chiffres séparés par des virgules, et ".2" signifie arrondi à deux places après la virgule.
Pour plus d'informations sur les autres options de formatage, voir https://docs.oracle.com/javase/tutorial/java/data/numberformat.html
la source
Une fois que vous avez converti votre chaîne en nombre, vous pouvez utiliser
ou
la source
new DecimalFormat("0.##", DecimalFormatSymbols.getInstance(locale))
Étant donné qu'il s'agit du résultat numéro un de Google
format number commas java
, voici une réponse qui fonctionne pour les personnes qui travaillent avec des nombres entiers et ne se soucient pas des décimales.les sorties:
la source
J'ai créé mon propre utilitaire de formatage. Ce qui est extrêmement rapide pour traiter le formatage et vous offre de nombreuses fonctionnalités :)
Elle supporte:
Le code peut être trouvé ici . Vous l'appelez comme ceci:
Je dois également souligner que cela ne gère pas le support décimal, mais est très utile pour les valeurs entières. L'exemple ci-dessus afficherait "1.23M" comme sortie. Je pourrais probablement ajouter le support décimal peut-être, mais je n'ai pas vu trop d'utilité depuis lors, je pourrais aussi bien fusionner cela dans un type de classe BigInteger qui gère les tableaux char [] compressés pour les calculs mathématiques.
la source
K
ou ce que celaM
signifiela source
vous pouvez également utiliser la solution ci-dessous -
la source
Vous pouvez effectuer la conversion entière en une seule ligne, en utilisant le code suivant:
Les deux derniers signes # dans le constructeur DecimalFormat peuvent également être des 0. De toute façon fonctionne.
la source
La première réponse fonctionne très bien, mais pour ZERO / 0, elle se formatera au format .00
D'où le format #, ## 0.00 fonctionne bien pour moi. Testez toujours différents nombres tels que 0/100 / 2334,30 et des nombres négatifs avant de déployer sur le système de production.
la source
Voici le moyen le plus simple d'y arriver:
sortie: 10 987 655,88
la source