1

EditTextfloatに変換したい。私はこれをします:

EditText edt = (EditText) findViewById(R.id.price);
float number = Float.valueOf(edt.getText().toString());

アプリがデバイスとシミュレーターにも読み込まれません。両方で次のように記述します。

"the application has stopped unexpectedly. please try again."

この行を削除すると:

float number = Float.valueOf(edt.getText().toString());

アプリをロードできます。

どうすればよいですか?

4

6 に答える 6

2

私の推測でedt.getText().toString()は、float に変換できる値を返していません。コードの周りに次を配置してみてください

`

float number = 0;
try{
   number = Float.valueOf(edt.getText().toString());
} catch (NumberFormatException e) {
   e.printStackTrace();
}

これで、死にかけている理由の手がかりが得られるはずです。

于 2013-04-07T16:49:42.200 に答える
0

に がない場合は、浮動小数点数に変換できず、 が得られNumberます。EditTextNumberFormatException

したがって、Float.valueOfメソッドの周りに try-catch を追加します。

于 2013-04-07T16:46:22.087 に答える
0

アプリの起動直後に EditText の内容を float に変換しようとすると、アプリがクラッシュする可能性が最も高くなります。この時点で、EditText はおそらく空であるか、レイアウト ファイルに設定したデフォルトのテキストで満たされている可能性がありNullPointerExceptionますNumberFormatException

TextWatcher で float 値を取得してみてください。

edt.addTextChangedListener(new TextWatcher() {

    @Override
    public void afterTextChanged(Editable s) {
        // TODO Auto-generated method stub
        float number = Float.valueOf(edt.getText().toString());
    }

    @Override
    public void beforeTextChanged(CharSequence s, int start, int count, int after) {
        // TODO Auto-generated method stub

    }

    @Override
    public void onTextChanged(CharSequence s, int start, int before, int count) {

    } 

});
于 2013-04-07T16:46:32.900 に答える
0

edtテキストを含む必要があり、テキスト内の各文字は数字または小数点でなければなりません。特に、空の文字列 "" は 0 を表さないことに注意してください。これは Float 値として解釈できないため、例外が発生します。ゼロとして解釈できるのは、「0」、「0.0」などのみです。

edt値を取得する前に、catchの値をテストする必要がありExceptionます。inputTypeまた、 ofedtを 10 進数に設定する必要があります。

于 2013-04-07T16:47:57.907 に答える
0
EditText edt = (EditText) findViewById(R.id.price);
float number=   Float.parseFloat(edt.getText().toString());
于 2013-04-09T09:01:42.527 に答える
0

EditTextアプリケーションが開いた後、右の値を取得しようとしています。これは、何も入力されていないことを意味し、アプリケーションは をスローしNumberFormatExceptionます。

に入力された値を取得するEditText必要があるのは、たとえば.OnClickButton

于 2013-04-07T16:46:45.433 に答える