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

标签 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

最佳答案

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

关于java - 如何通过语言环境设置双重格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30681765/

相关文章:

java - 如何将唯一的 JComboBoxes 添加到 JTable 中的列 (Java)

c++ - 如何在运行时给出 "hello world"?

visual-c++ - _configthreadlocale 和 localeconv

java - 将 ByteBuffer 分配给 Byte[] 错误

java - 在不打开eclipse的情况下卸载eclipse的插件

java - 使用Gson java解析json

c++ - boost locale c++ - 了解基础知识

javascript - 计算幂和的问题

ios - NSNumberFormatter 检查特定的小数

Excel 数字格式 : What is "[$-409]"?