0

0 から 9 までのカスタム キーボードを使用しています。「.」は 10 進数を意味します。浮動値を入力する原因になりますが、edittext アプリから値を読み込もうとするとクラッシュします。

サンプルアプリから私はこれを取りました

<Key
            android:codes="8226"
            android:keyLabel="."
            android:keyWidth="20%p" />

しかし、これはピリオドまたは10進数の正しいコードではないと思います(12から45の間を参照)(つまり、12.45)。

 String str ="12.56"
    double num = Double.parseDouble(str);

これにより正しい結果が得られます。

しかし、このコードはクラッシュの原因です。

String str =edittext.getText().toString();
    double num = Double.parseDouble(str);

誰でも助けることができます。

4

2 に答える 2

0

java.lang.NumberFormatException: 無効な長い

"12.56"ではないlong場合、 に解析することはできませんlong。次に、 を使用すると、この例外がスローされますLong.parseLong()。投稿されたコードと例外メッセージの間で何かが同期していません。また、余分なスペースを取り除くには、trim()を使用します。String

于 2013-07-04T09:56:08.870 に答える
0

String str =edittext.getText().toString();これを変更しますString str =edittext.getText().toString().trim();

それはうまくいくはずです。基本的には弦を切る必要があります。

于 2013-07-04T09:56:31.217 に答える