java - 将字符串转换为整数不起作用,抛出 NumberFormatException

标签 java android

walletBalance的值为一个字符串,例如“150.0”。

我试图在另一个 Activity (SuccessActivity)中以 toast 的形式显示错误消息,即从用户处提取的金额小于钱包余额。我不断收到 i 值的 NumberFormatException 错误,因此我决定使用 try catch block ,但它仍然不起作用。下面是方法。

 private void checkWalletBalance(int amount, Context context){
        String walletBalance = Preferences.getBalance(context);

                try {
            int i = Integer.parseInt(walletBalance.trim());
                    if(amount < i){
                        Intent intent = new Intent(getBaseContext(), SuccessActivity.class);
                        startActivity(intent);

                        Toast. makeText(ActivityHome.this,"Insufficient Wallet Balance",Toast. LENGTH_LONG).show();
                    }
        }
        catch (NumberFormatException nfe){
            System.out.println("NumberFormatException: " + nfe.getMessage());

        }


    }

Alos,如果条件为真,我想在成功的 Activity 中显示一个 toast。这是成功 Activity 中显示 toast 消息的代码。


    private void insufficientError(){
        Intent intent = getIntent();
        intent.getExtras();

        Toast.makeText(SuccessActivity.this,"Insufficient  Balance",Toast.LENGTH_LONG).show();

    }

最佳答案

就像@Blackbelt 评论的那样,您正在尝试解析双字符串而不是整数。

因此,您需要执行以下操作:

双倍金额 = Double.parseDouble(walletBalance.trim());

关于java - 将字符串转换为整数不起作用,抛出 NumberFormatException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61115025/

相关文章:

Android Modbus RTU 库

java - 包含来自 FXML 的 FontAwesomeFX 图标和字形

java - 正则表达式:前三个字符唯一 + 附加匹配

java - 处理最终字段为空的 csv 字符串时,myString.split( ",") 返回不正确的数组条目数

java - 如何从listfragment java类进入其他 Activity

java - 为什么我无法使用渐变颜色 android 更改图标颜色和文本底部导航

java - 在不暴露执行线程的情况下返回一个 CompletableFuture

java - 谁是最好的应用服务器: JBoss or Glassfish?

java - 禁用所有中断

java - 如何在android中将数组发布到php服务器?