2 回答
TA贡献1804条经验 获得超3个赞
您需要在使用之前删除空格Double.parseDouble():
String input = "55 000";
double number = Double.parseDouble(input.replace(" ", ""));
System.out.println(number);
或者使用DecimalFormat自定义分组分隔符来解析字符串:
DecimalFormat decimalFormat = new DecimalFormat();
DecimalFormatSymbols symbols = new DecimalFormatSymbols();
symbols.setGroupingSeparator(' ');
decimalFormat.setDecimalFormatSymbols(symbols);
double number = decimalFormat.parse(input).doubleValue();
System.out.println(number);
TA贡献1810条经验 获得超4个赞
如果您想忽略空格,只需遍历字符串,如果字符是空格,请不要将其放入新字符串中,然后将其转换为双精度数。
String dbl = "55 000";
String newDbl = "";
for (int i = 0; i < dbl.length(); i++){
if (dbl.charAt(i) != ' '){
newDbl+=dbl.charAt(i)
}
}
double dub = Double.valueOf(newDbl);
这会给55_000,这是我对你正在尝试做的事情的解释。如果你想要 55.000 并且可以保证字符串会有一个空格
String dbl = "55 000";
int index = dbl.indexOf(" ");
StringBuilder build = new StringBuilder(dbl);
build.deleteCharAt(index);
build.insert(index,".");
double dub = Double.valueOf(build.toString());
dub将会55.0
添加回答
举报