3

文字列を double に変換する方法はありますか。これが私がした方法です。

String s = b.getText().toString();
       double d = Double.parseDouble(s);

それは NumberFormatException を与える

4

3 に答える 3

3

これを試して

文字列s=b.getText()。toString(); double d = Double.valueOf(s.trim())。doubleValue();

于 2011-08-22T21:16:40.253 に答える
0

おそらく長さゼロの文字列から始めています。解析する前に長さを確認してください。NumberFormatException をキャッチしても問題はありませんがandroid:inputType="number"、ビューのレイアウトにある場合は問題ありません。

double d = 0;
CharSequence cs = b.getText();
if(cs != null && cs.length() > 0) {
    d = Double.parseDouble(cs.toString());
}
于 2011-08-22T22:13:01.840 に答える
0

私は同様の問題を抱えています。EditTextテキストコンテンツを2倍の値に正しくフォーマットするには、次のコードを使用します:

try {
        String eAm = etAmount.getText().toString();
        DecimalFormat dF = new DecimalFormat("0.00");
        Number num = dF.parse(eAm);
        mPayContext.amount = num.doubleValue();
    } catch (Exception e) {
        mPayContext.amount = 0.0d;
    }

これは現在の電話ロケールから独立しており、正しい double 値を返します。

それが助けになることを願っています。

于 2013-05-21T13:10:09.827 に答える