Reputation: 59
I'm relatively new to Java, and I have a line of code I'm struggling with:
System.out.println(String.format("%-14s%10.2f","Income",income));
I would like to add a $ and commas to the income, but whenever I try to add it in the line, I get errors or the $ shows up in the wrong spot.
So currently it prints:
Income 50000.00
but I would like it to print:
Income $50,000.00
If there is a way to add these additions while keeping 'Income' and the digits nicely spaced apart, that'd be preferred. :)
Upvotes: 4
Views: 7410
Reputation: 6300
Solution with String.format
only:
System.out.println(String.format("%-14s$%,.2f","Income",50000.));
it will print Income $50,000.00
Upvotes: 2
Reputation: 309
You should use decimal format
and format the number.
DecimalFormat formatter = new DecimalFormat("#,###,###");
String yourFormattedString = formatter.format(100000);
System.out.println("$" + yourFormattedString);
The result will be
-> 1,000,000 for 1000000
-> 10,000 for 10000
-> 1,000 for 1000
Upvotes: 1
Reputation: 7199
If you wish to display $ amount in US number format than try:
DecimalFormat dFormat = new DecimalFormat("####,###,###.##");
System.out.println("$" + dFormat.format(income));
Upvotes: 3