0

EditText から String を取得し、double に解析しようとしています。しかし、私はエラーが発生しています。

09-26 10:42:41.589: E/AndroidRuntime(17901): FATAL EXCEPTION: main
09-26 10:42:41.589: E/AndroidRuntime(17901): java.lang.NumberFormatException: 
09-26 10:42:41.589: E/AndroidRuntime(17901):    at org.apache.harmony.luni.util.FloatingPointParser.parseDouble(FloatingPointParser.java:267)
09-26 10:42:41.589: E/AndroidRuntime(17901):    at java.lang.Double.parseDouble(Double.java:318)
09-26 10:42:41.589: E/AndroidRuntime(17901):    at br.com.going2.Checkincomercial.NovoCheckinActivity$4.onClick(NovoCheckinActivity.java:219)

コード

String controle = "";
controle = etCustoNovoCheckin.getText().toString();
if( controle == null || controle == ""){
custo = 0.0;
} else {
custo = Double.parseDouble(controle);   
}       
4

4 に答える 4

1

私はそれを理解します:

                       if( controle.equals(null) || controle.equals("")){
                            custo = 0.0;
                        } else {
                            custo = Double.parseDouble(controle);   
                        } 

エラーは、文字列を比較するために .equals を使用していなかったことです。

答えてくれてありがとう。

于 2013-09-26T13:54:40.980 に答える
0

これを試して..

                String controle = "";
                controle = etCustoNovoCheckin.getText().toString();
                if(controle.trim().length()>0){
                custo = Double.parseDouble(controle); 
                } 
                else {
                custo = 0.0;  
                }  
于 2013-09-26T13:54:24.403 に答える