如何在java中将法语,德语价格转换为Double Value

时间:2014-06-05 13:57:08

标签: java

我的法国价格如下:2 44 455,00 ....我使用下面的代码将其转换为双倍。

NumberFormat nf = NumberFormat.getInstance(Locale.FRANCE);
String s = "2 44 455,00";
double d = nf.parse(s);

我得到的输出只是“2”

如何获得正确的价值

注意:我不想使用String的replaceAll()方法,因为不同的价格将采用不同的格式

2 个答案:

答案 0 :(得分:1)

尝试删除字符串中的空格:

s=s.replace(" ","");

然后解析。

答案 1 :(得分:0)

首先,您需要去除空格,然后在代码下面应用:

    NumberFormat nf = NumberFormat.getInstance(Locale.FRANCE);
    String s1 = "2 44 455,80";
    String s2 = s1.replaceAll("\\s", "");
    double d = (Double) nf.parse(s2);
    System.out.println(d);

当您在00之后放置,时,它会将其视为Long而不是Double。