You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Android Studio中无法将字符串转换为整数实现求和功能的问题咨询

问题分析与解决方案

嘿,问题很明确啦——你现在只是把去掉$后的字符串直接拼接在一起,而没有把它们转换成数值类型进行求和计算。这就是为什么结果只是字符串连起来,而不是真正的数字相加。

你遗漏的关键步骤:

  • 把处理后的纯数字字符串转换成整数(或浮点数,根据你的金额是否有小数)
  • 对转换后的数值执行加法运算
  • 把最终的求和结果转回字符串(还可以重新加上$符号保持格式一致)

修改后的代码示例

假设你的金额都是整数,用Integer.parseInt()转换:

public void addTotal() { 
    // 取出文本并去除$符号
    String sub1 = subtotal1.getText().toString().replace("$", ""); 
    String sub2 = subtotal2.getText().toString().replace("$", ""); 
    String sub3 = subtotal3.getText().toString().replace("$", ""); 

    // 转换为整数并求和
    int total = Integer.parseInt(sub1) + Integer.parseInt(sub2) + Integer.parseInt(sub3); 

    // 转换回带$符号的字符串并设置到TextView
    totalAmt.setText("$" + total); 
}

如果金额有小数(比如带角分),就用Double.parseDouble():

public void addTotal() { 
    String sub1 = subtotal1.getText().toString().replace("$", ""); 
    String sub2 = subtotal2.getText().toString().replace("$", ""); 
    String sub3 = subtotal3.getText().toString().replace("$", ""); 

    double total = Double.parseDouble(sub1) + Double.parseDouble(sub2) + Double.parseDouble(sub3); 

    // 用String.format保留两位小数,让格式更规范
    totalAmt.setText(String.format("$%.2f", total)); 
}

额外建议:加上异常处理

如果TextView里的内容不是有效数字(比如空字符串、非数字字符),直接转换会抛出NumberFormatException导致崩溃。可以加个try-catch块处理这种情况:

public void addTotal() { 
    try {
        String sub1 = subtotal1.getText().toString().replace("$", "").trim(); 
        String sub2 = subtotal2.getText().toString().replace("$", "").trim(); 
        String sub3 = subtotal3.getText().toString().replace("$", "").trim(); 

        double total = Double.parseDouble(sub1) + Double.parseDouble(sub2) + Double.parseDouble(sub3); 
        totalAmt.setText(String.format("$%.2f", total)); 
    } catch (NumberFormatException e) {
        // 处理无效输入的情况,比如提示用户输入正确金额
        totalAmt.setText("无效金额");
        e.printStackTrace();
    }
}

内容的提问来源于stack exchange,提问作者Chan Jun Mun

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.01 01:52:29