Java 遇到NumberFormatException
我试图将字符串转换为双精度字符串,但得到了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
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
的内容,以判断错误所在。异常消息将为您提供错误所在的详细信息。只有与正确的双精度值对应的字符串才能成功解析。如果出现解析异常,则可以向用户发送消息。实际上,在解析网页中的数据后,我尝试添加它。。