我想要得到的结果,0.054563
从String
和解析它作为一个double
。我目前的尝试看起来像
String number1 = "54,563";
String number2 = "54,563";
String value = "0.0" + number1;
String value2 = "0.0" + number2;
Double rd1 = Double.parseDouble(value.replaceAll(",","."));
Double rd3 = Double.parseDouble(value2.replaceAll(",","."));
System.out.println(rd1);
但是,当我运行它时,出现以下错误:
线程“主”中的异常java.lang.NumberFormatException:多点
您可以使用正则表达式删除所有非数字。模式\D
匹配非数字。Pattern
如果您需要多次执行,使用a会更快。所以你可以做类似的事情,
String number1 = "54,563";
Pattern p = Pattern.compile("\\D");
Matcher m = p.matcher(number1);
String number2 = "0.0" + m.replaceAll("");
System.out.println(Double.parseDouble(number2));
或者,如果您只需要执行一次,则可以像
String number1 = "54,563";
String number2 = "0.0" + number1.replaceAll("\\D", "");
System.out.println(Double.parseDouble(number2));
两者都输出您想要的
0.054563
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句