Tessa
Tessa

Reputation: 59

Using string format to add dollar sign and commas to my numbers

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

Answers (3)

Ruslan
Ruslan

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

Asad Ali
Asad Ali

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

Bruno Caceiro
Bruno Caceiro

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

Related Questions