簡體   English   中英

引起:java.lang.NumberFormatException:空字符串

[英]Caused by: java.lang.NumberFormatException: empty String

這是我的計算器應用程序,當我們通常單擊等於按鈕而不添加任何計算時,應用程序在此代碼上崩潰

 case R.id.equal:
            int item1=s1.getSelectedItemPosition();
            int item2=s2.getSelectedItemPosition();
            double value1=Double.parseDouble(e1.getText().toString());
            double result=evaluate(item1,item2,value1);
            e2.setText(result+"");
            break;

應用程序在第三行崩潰

如果您有一個空字符串,則無法解析為雙精度,您嘗試解析為雙精度的字符串為空。 在嘗試進行解析之前,您需要檢查getText()方法是否返回非空字符串。

case R.id.equal:
    int item1=s1.getSelectedItemPosition();
    int item2=s2.getSelectedItemPosition();
    double value1=ParseDouble(e1.getText().toString());
    double result=evaluate(item1,item2,value1);
    e2.setText(result+"");
    break;

double ParseDouble(String strNumber) {
    if (strNumber != null && strNumber.length() > 0) {
        try {
            return Double.parseDouble(strNumber);
            } 
        catch(Exception e) {
            return -1;   // or a default value to mark this field is wrong.
            }
        }
    else return 0;
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM