Je suis relativement nouveau en Java, et j'ai une ligne de code avec laquelle je suis aux prises:
Income $50,000.00
Je voudrais ajouter un $ et des virgules au revenu, mais quand J'essaye de l'ajouter dans la ligne, j'obtiens des erreurs ou le $ apparaît au mauvais endroit.
Donc actuellement il imprime:
Income 50000.00
mais Je voudrais qu'il imprime:
System.out.println(String.format("%-14s%10.2f","Income",income));
S'il y a un moyen d'ajouter ces ajouts tout en gardant «Revenu» et les chiffres bien espacés, ce serait préféré. :)
3 Réponses :
Si vous souhaitez afficher le montant $ au format numérique américain, essayez:
DecimalFormat dFormat = new DecimalFormat("####,###,###.##"); System.out.println("$" + dFormat.format(income));
Mieux encore: NumberFormat.getCurrencyInstance (Locale.US)
Lorsque j'essaye d'utiliser le code, j'obtiens l'erreur "Impossible de trouver le symbole"
Vous devez utiliser le format décimal
et formater le nombre.
-> 1,000,000 for 1000000 -> 10,000 for 10000 -> 1,000 for 1000
Le résultat sera
DecimalFormat formatter = new DecimalFormat("#,###,###"); String yourFormattedString = formatter.format(100000); System.out.println("$" + yourFormattedString);
Pourquoi cela a-t-il été rejeté? La réponse ici n'est pas différente de celle ci-dessus
La question spécifiquement demandait une mise en forme avec le signe $, et cette réponse ne le fait pas.
@Andreas Il me semble que la ligne System.out.println ("$" + yourFormattedString);
utilise le signe dollar.
@FredK Vous voulez dire l'instruction print
qui a été ajoutée à la réponse après j'ai laissé le commentaire? --- Notez également que je ne suis pas un vote défavorable, je ne fais que comprendre pourquoi un vote négatif aurait pu être donné.
Mieux encore: NumberFormat.getCurrencyInstance (Locale.US)
Solution avec String.format
uniquement:
System.out.println(String.format("%-14s$%,.2f","Income",50000.));
il imprimera Revenu 50 000,00 $
pouvez-vous fournir une entrée d'échantillon et la sortie souhaitée
Copie possible de stackoverflow.com/questions/5379231 /… .