亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

NumberFormatException Android Java

NumberFormatException Android Java

瀟瀟雨雨 2021-05-13 18:13:13
我是編碼的新手,如果這真的很明顯,我深表歉意。我已經搜索了異常,并且完全迷失了自己/理解了這個問題,但不知道如何解決。下面是庫存應用程序的代碼,下面是用戶輸入要添加到數據庫的項目信息的活動。我相信問題可能發生在'saveItemCheck'方法中。saveItemCheck方法應確保用戶已在必填字段中輸入了信息,并且如果未顯示提示信息,則該應用程序將停止并顯示logcat詳細信息;java.lang.NumberFormatException: empty String        at java.lang.FloatingDecimal.readJavaFormatString(FloatingDecimal.java:1071)        at java.lang.Float.parseFloat(Float.java:459)        at com.example.android.inventoryapp.EditorActivity.saveItemCheck(EditorActivity.java:97)因此,據此,我知道問題在于它不喜歡Float,并且如果代碼距離不遠,則可能不喜歡int,但我不知道如何解決。再次,我為自己的知識不足而表示歉意,我想這確實很明顯,但是在過去的兩個星期中,我的大腦一直在從事該項目。我已經將整個文件包含在上下文中,以防萬一我錯了并且錯過了其他內容。
查看完整描述

2 回答

?
呼啦一陣風

TA貢獻1802條經驗 獲得超6個贊

這意味著您嘗試將空String強制轉換為浮點數。

也許在這里: Float price = Float.parseFloat(priceString);


因此改寫為:


private void saveItemCheck() {

    String nameString = mNameEditText.getText().toString().trim();

    String priceString = mPriceEditText.getText().toString().trim();

    String quantityString = mQuantityEditText.getText().toString().trim();

    String supplierString = mSupplierEditText.getText().toString().trim();

    String supplierNumberString = mSupplierNumberEditText.getText().toString().trim();


    if (mCurrentInventoryUri == null &&

            TextUtils.isEmpty(nameString) && TextUtils.isEmpty(priceString) &&

            TextUtils.isEmpty(quantityString) && TextUtils.isEmpty(supplierString) &&

            TextUtils.isEmpty(supplierNumberString)) {

        return;

    }

    if (TextUtils.isEmpty(nameString) || TextUtils.isEmpty(priceString)

            || TextUtils.isEmpty(quantityString) || TextUtils.isEmpty(supplierString)

            || TextUtils.isEmpty(supplierNumberString)) {

        Toast.makeText(this, "Please fill all the starred fields to save the product",

                Toast.LENGTH_LONG).show();

    } else {

        Float price = Float.parseFloat(priceString);

        int quantity = Integer.parseInt(quantityString);

        saveItem(nameString, price, quantity, supplierString, supplierNumberString);

    }

}



查看完整回答
反對 回復 2021-05-19
?
長風秋雁

TA貢獻1757條經驗 獲得超7個贊

String priceString = mPriceEditText.getText().toString().trim();

if(!TextUtils.isEmpty(priceString))

    Float price = Float.parseFloat(priceString);


String quantityString = mQuantityEditText.getText().toString().trim();

if(!TextUtils.isEmpty(quantityString))

    int quantity = Integer.parseInt(quantityString);

您必須檢查edittext是否為空,而不是轉換為float的int之后


查看完整回答
反對 回復 2021-05-19
  • 2 回答
  • 0 關注
  • 190 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號