0

文字列を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);

すべての助けに感謝します。

4

3 に答える 3

0

試すDouble.valueOf(yo.trim()).doubleValue();

于 2012-02-25T12:21:09.930 に答える
0

ああ、そのような醜いコードをがらくた!ただし、正しく取得できればfinalstr、間隔が発生するまですべての文字の文字列を作成しようとしています。

このコードを使用します:

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

それ以降、eNumberFormat例外が発生した場合、それは間違った文字列値が原因であり、他の原因ではありません。

于 2012-02-25T12:21:27.763 に答える
0

これを試すことができます。それは私のために働いた:

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

あなたが見ることができるようにここに量は私がアンドロイドで使用しているedittextです。

于 2012-07-20T18:13:48.473 に答える