如何通过语言环境设置双重格式

How to set a double format by locale

我那些输入字符串:

 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

您不能以 10,000.210 000,2 格式显示 double 或 float,这是字符串格式。您可以使用例如 String.format() 方法来做到这一点。有关此内容的更多信息,请阅读 here