我必须解析一个格式如下的字符串:“€15,10”作为小数,以便执行简单的计算。
然而,项目代码库对我来说是全新的。
我试过这个:
String[] strArray = PriceNew.split(" ");
PriceNew = strArray[1];
只是获取字符串的数字部分,但这不起作用。
我也试过
PriceNew = replace(PriceNew, '€ ', '');
但这也不起作用,因为字符编码完全关闭。欧元符号导致编译失败。
答案 0 :(得分:0)
我会保持简单,
//Remove currency symbol
PriceNew.replace('€', '');
//Remove comma
PriceNew.replace(',', '');
//Remove spaces
PriceNew.trim();
//Cast to new float
float price = new Float(PriceNew);
//Retain decimal value
price /= 100;
答案 1 :(得分:0)
尝试用小数点替换逗号:
float number = new Float(PriceNew.split(" ")[1].replace(',','.'));
答案 2 :(得分:-1)
对于货币金额,您可能更喜欢使用BigDecimal而不是float或double来保持精度:
String s = "€ 15,10";
BigDecimal bd = new BigDecimal(s.substring(1).trim().replace(",", "."));
System.out.println(bd); // 15.10