我正在尝试将字符串转换为double但得到NumberFormatException。
这是我的代码:
String x = "";
// String ary[]=new String[10];
while (finalstr.charAt(stpr) != ' ') {
// System.out.print(finalstr.charAt(stpr));
Character c = new Character(finalstr.charAt(stpr));
String s = c.toString(c);
ary[i] = s;
x = x + ary[i];
i++;
stpr++;
// first++;
}
// System.out.print(x);
String yo = x;
// System.out.print(yo); //it prints well
// double d = Double.valueOf(yo.trim()).doubleValue();
double doubleprim = Double.parseDouble(yo);
System.out.print(doubleprim);
所有帮助表示赞赏。
答案 0 :(得分:0)
尝试Double.valueOf(yo.trim()).doubleValue();
答案 1 :(得分:0)
哦,废话这么难看的代码!但是,如果我正确地得到它,你试图在finalstr
中构造所有字符的字符串,直到遇到间隔。
使用此代码:
String [] splits = finalstr.split(" ");
double doubleprim = Double.parseDouble(splits[0]);
从那时起,如果你得到eNumberFormat异常,那是由于错误的字符串值,而不是其他任何东西。
答案 2 :(得分:0)
你可以试试这个。它适合我:
CharSequence cs = amount.getText();
if(cs!=null && cs.length()>0)
{
double pro = Double.parseDouble(cs.toString());
}
这里你可以看到金额是我在android中使用的edittext。