我的法国价格如下:2 44 455,00 ....我使用下面的代码将其转换为双倍。
NumberFormat nf = NumberFormat.getInstance(Locale.FRANCE);
String s = "2 44 455,00";
double d = nf.parse(s);
我得到的输出只是“2”
如何获得正确的价值
注意:我不想使用String的replaceAll()方法,因为不同的价格将采用不同的格式
答案 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。