2012-02-25 11 views
0

文字列をdoubleに変換しようとしていますが、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)); 

    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

SSCCEの転記の例については、http://sscce.org/を参照してください。 – Perception

+0

このコードは完全ではありません。何が間違っているのかを知るには、 'finalstr'の内容を見る必要があります。 – Dervall

+0

例外メッセージは、何が間違っているかの詳細を示します。適切なdouble値に対応する文字列だけが正常に解析できます。解析例外が発生した場合は、ユーザーにメッセージを渡すことができます。 –

答えて

0

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

+0

それは動作しません..tnx – Taskin

+0

どのような値が文字列としてyoですか?私は "2502342.53"の値を持つStringを作成した。 double d = Double.valueOf(num.trim())。doubleValue(); 実際には –

+0

というWebページからデータを解析しています。私はjavaで新しいです... value of yo = 101.00 – Taskin

0

ああがらくた、このような醜いコードを試してみてください!しかし、正しく取得すると、間隔が来るまでfinalstrにすべての文字列を構成しようとしています。このコード

用途:あなたは番目のeNumberFormat例外を取得する場合

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

、その後から上は、それが原因間違った文字列値ではなく、何か他にあります。

0

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

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

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

関連する問題