читать ViewText конвертировать в двойной - PullRequest
0 голосов
/ 07 сентября 2011

Мое приложение имеет ряд числовых полей ввода пользователя, которые требуют проверки работоспособности, прежде чем перейти к следующему намерению.Я читаю поля viewText, преобразую их в удвоенные, а затем выполняю (числовые) тесты, но происходят странные вещи, и я обнаружил, что, хотя код работает на моем HTC в режиме отладки, он падает, если я публикую и загружаю опубликованную версию.Мой код суммируется как:

    String sFy;
    double  mFy=0;D
    sFy=(txtFy.getText().toString());
    mFy=Double.parseDouble(sFy);  

, если sFy равно нулю, происходит сбой .parsedouble.Если я использую;

    sFy=(txtFy.getText().toString());
    mFy=getDouble(sFy); 

    private double getDouble(String string){
    double temp=0.0;
    try {
        temp = Double.parseDouble(string.trim());
    } catch(NumberFormatException nfe) {
       System.out.println("getDouble, Could not parse " + nfe);
    }         
    return temp;        
} 

, это работает, даже если sFy пусто.

Может кто-нибудь сказать, почему, или предложить «правильный» метод?

Ответы [ 2 ]

0 голосов
/ 08 сентября 2011

Ваш getDouble возвращает 0.0, если существует NumberFormatException. Вы видите, что отладчик приходит в System.out.println ("getDouble, Could not parse" + nfe);

0 голосов
/ 08 сентября 2011

Может быть так:

String sFy;
double  mFy=0;
sFy = txtFy.getText();
if ((sFy != ""){
    mFy=Double.parseDouble(sFy);  
}

Или, может быть, я не совсем понял вашу проблему ...

...