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
添加回答
舉報