如何按区域设置设置双重格式

时间:2015-06-06 10:31:45

标签: java locale number-formatting decimalformat

我是那些输入字符串:

 10000,20
 4000,10
 5,400.20

我正在尝试使用区域设置格式化它们:

nf = NumberFormat.getInstance(Locale.FRANCE);
double newLoc = nf.parse(split[5]).doubleValue();

也是这样:

   nf = NumberFormat.getInstance(Locale.ENGLISH);
    double newLoc = nf.parse(split[5]).doubleValue();

结果是:  对于Locale.FRANCE

5400.2 
4000.0 
10000.0

对于Locale.ENGLISH

4000.0
10000.0
5400.0

但需要的是这样的事情: 对于Locale.France

10 000,2 
4 000,1
5 400,2

和Locale.English

10,000.2
4,000.1
5,400.2

1 个答案:

答案 0 :(得分:3)

您不能以10,000.210 000,2格式呈现double或float,这是String格式。您可以使用例如String.format()方法来执行此操作。有关此内容的更多信息here