首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >遇到NumberFormatException

遇到NumberFormatException
EN

Stack Overflow用户
提问于 2012-02-25 20:13:27
回答 3查看 243关注 0票数 0

我试图将字符串转换为双精度值,但得到的是NumberFormatException。

下面是我的代码:

代码语言:javascript
复制
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);

感谢大家的帮助。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-02-25 20:21:10

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

票数 0
EN

Stack Overflow用户

发布于 2012-02-25 20:21:28

哦,见鬼,这么难看的代码!但是,如果我没有弄错的话,您会尝试在finalstr中构造包含所有字符的字符串,直到遇到一个间隔。

使用以下代码:

代码语言:javascript
复制
String [] splits = finalstr.split(" ");
double doubleprim = Double.parseDouble(splits[0]);

从那时起,如果你得到这个eNumberFormat异常,它是由于错误的字符串值,而不是其他任何东西。

票数 0
EN

Stack Overflow用户

发布于 2012-07-21 02:13:48

你可以试试这个。这对我来说很有效:

代码语言:javascript
复制
               CharSequence cs = amount.getText();
                if(cs!=null && cs.length()>0)
                {
                double pro = Double.parseDouble(cs.toString());
                }

这里,正如你看到的,amount是我在android中使用的一个编辑文本。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9443882

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档