2012-05-10 7 views
9

Ich habe versucht, manuelle Währung zu machen. Hier ist mein CodeWie kann man die Währung in Java anpassen?

DecimalFormat df = new DecimalFormat(); 
DecimalFormatSymbols dfs = new DecimalFormatSymbols(); 
dfs.setCurrencySymbol("$"); 
dfs.setGroupingSeparator('.'); 
dfs.setDecimalSeparator('.'); 
df.setDecimalFormatSymbols(dfs); 
System.out.println(df.format(3333454)); 

Programmausgabe wird

3.333.454

Warum das Währungssymbol Ich habe nicht angezeigt?

Antwort

23

Try this:

NumberFormat df = NumberFormat.getCurrencyInstance(); 
DecimalFormatSymbols dfs = new DecimalFormatSymbols(); 
dfs.setCurrencySymbol("$"); 
dfs.setGroupingSeparator('.'); 
dfs.setMonetaryDecimalSeparator('.'); 
((DecimalFormat) df).setDecimalFormatSymbols(dfs); 
System.out.println(df.format(3333454)); 
+0

Dank Kumpel, es funktioniert. Aber wie kann man 2 Dezimalziffern entfernen? – greenthunder

+1

Hinzufügen 'df.setMaximumFractionDigits (0);' – mprivat

+0

Dies scheint eine tolle Lösung !!!!! –

0

Sie haben dem DecimalFormat mitgeteilt, welches Währungssymbol verwendet werden soll, wenn es eine Währung formatieren muss. Aber Sie haben es nicht gesagt, um eine Währung zu formatieren. Das vom Konstruktor no-arg verwendete Standardmuster dient nicht zum Formatieren von Währungen. Verwenden Sie dafür ein spezielles Muster.

The javadoc sagt Ihnen alles, was Sie wissen müssen.

Verwandte Themen