Java 遇到NumberFormatException

Java 遇到NumberFormatException,java,numberformatexception,Java,Numberformatexception,我试图将字符串转换为双精度字符串,但得到了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)); Stri

我试图将字符串转换为双精度字符串,但得到了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);

感谢您的帮助。

试试
Double.valueOf(yo.trim()).doubleValue()

噢,糟糕,这么难看的代码!但是,如果我理解正确,您将尝试构造
finalstr
中所有字符的字符串,直到遇到间隔

使用此代码:

String [] splits = finalstr.split(" ");
double doubleprim = Double.parseDouble(splits[0]);

从那时起,如果出现eNumberFormat异常,则是由于字符串值错误,而不是其他原因。

您可以尝试此方法。这对我很有用:

               CharSequence cs = amount.getText();
                if(cs!=null && cs.length()>0)
                {
                double pro = Double.parseDouble(cs.toString());
                }

如您所见,amount是我在android中使用的edittext。

yo作为字符串的值是多少?我创建了一个值为“2502342.53”的字符串,并创建了double d=double.valueOf(num.trim()).doubleValue();事实上,我正在解析网页中的数据。我是java新手,所以…yo=101.00的值。请您共享错误StackTrace,并在转换为数字之前尝试打印这些值。请在类型转换之前共享yo的值。double doubleprim=double.parseDouble(yo);有关发布SSCCE-的示例,请参见此处。此代码不完整。我们需要查看
finalstr
的内容,以判断错误所在。异常消息将为您提供错误所在的详细信息。只有与正确的双精度值对应的字符串才能成功解析。如果出现解析异常,则可以向用户发送消息。实际上,在解析网页中的数据后,我尝试添加它。。