格式字符串货币

问题描述:

我想用下面的代码显示为3000€300,0:格式字符串货币

String formattedString = String.format("%.2€;",3000); 
System.out.println("format: "+formattedString); 

,反而会导致强制关闭错误。

我错过了什么?

+0

见http://docs.oracle.com/javase/tutorial/i18n/format/numberintro.html – Qwerky

我会建议使用特定的语言环境的货币格式,而不是

NumberFormat currencyFormat = NumberFormat.getCurrencyInstance(Locale.getDefault()); 

更好的国际化的方式。

查看Java API: NumberFormat。它将显示如何使用预定义的格式顶部实现您的目标。

尝试这样:

import java.text.NumberFormat; 
import java.util.Locale; 

Locale locale = new Locale("en", "UK"); 
NumberFormat fmt = NumberFormat.getCurrencyInstance(locale);//use Locale.getDefault() if you didn't know the type 
System.out.println(fmt.format(100.00)); 

这将打印:£100.00