如何用英语转换荷兰语金额?

时间:2014-08-27 06:35:09

标签: java number-formatting

我在java中解析一个荷兰语格式的XML文件。在该文件中,有一些金额符合荷兰语区域。 例如: TaxTotal = 1.027,120000 这个数量在字符串中。 我想将此金额转换为英语区域设置的两倍,如下所示: 的将TaxTotal = 1,027.12 现在这个数量应该转换为双重格式: 的将TaxTotal = 1027.12

我的问题是如何将1.027,120000转换为1,027.12然后转换为1027.12。

2 个答案:

答案 0 :(得分:1)

使用NumberFormat,明确设置您要使用的Locale

Number number = NumberFormat.getInstance(Locale.GERMANY).parse("1.027,120000");
System.out.println(NumberFormat.getInstance(Locale.ENGLISH).format(number)); // 1,027.12
System.out.println(number.doubleValue()); // 1027.12

答案 1 :(得分:0)

试试这段代码:

    String sInput1 = "1.027,120000";
    DecimalFormatSymbols dfsin = DecimalFormatSymbols.getInstance();
    dfsin.setDecimalSeparator(',');
    dfsin.setGroupingSeparator('.');
    DecimalFormat df = new DecimalFormat();
    df.setDecimalFormatSymbols(dfsin);

    Number n = df.parse(sInput1);
    DecimalFormat df1 = new DecimalFormat("#.##");
    DecimalFormatSymbols dfsout = DecimalFormatSymbols.getInstance();
    dfsout.setDecimalSeparator('.');
    df1.setDecimalFormatSymbols(dfsout);
    System.out.println(df1.format(n));