亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何使用 Double.parseDouble 格式化基本上由 Java 中以空格分隔的數字組成的

如何使用 Double.parseDouble 格式化基本上由 Java 中以空格分隔的數字組成的

蝴蝶不菲 2022-12-15 17:01:42
在此示例中,我正在等待 double 55000,但收到 NumberFormatException 類型錯誤 // After runing, this display a NumberFormatException    System.err.println(Double.valueOf("55 000"));    // After runing, this display a NumberFormatException    System.err.println(Double.parseDouble("55 000"));
查看完整描述

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);


查看完整回答
反對 回復 2022-12-15
?
慕萊塢森

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


查看完整回答
反對 回復 2022-12-15
  • 2 回答
  • 0 關注
  • 186 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號