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

Flutter中如何将roundOneResult与roundTwoResult求和并显示为总结果?

Flutter中正确计算并展示两个数值的总和

你的问题出在Dart字符串插值的语法逻辑上:直接写$roundOneResult + $roundTwoResult时,Dart会将变量转字符串、加号本身、另一个变量转字符串这三部分直接拼接,不会执行加法运算。要让插值内的表达式生效,必须用${}把整个计算逻辑包裹起来。

解决方法一:直接在字符串插值中计算总和

修改Text组件的字符串内容,把加法表达式放进${}中:

Text(
  "Result 
 Round 1: $roundOneResult and Round 2: $roundTwoResult Total = ${roundOneResult + roundTwoResult}",
  textAlign: TextAlign.center,
  style: const TextStyle(
    fontSize: 30,
  ),
),

解决方法二:提前计算总和变量(推荐,代码更易读)

如果需要复用总和结果,或者想让代码逻辑更清晰,可以在setState里先算出总和,再在Text中引用:

  1. 先在类中定义总和变量:
int totalResult = 0;
  1. 在按钮的onPressed回调中计算总和:
ElevatedButton(
  child: const Text("Add"),
  onPressed: () {
    setState(() {
      roundOneFields.forEach((e) =>
          roundOneResult = roundOneResult + int.parse(e.text));
      roundTwoFields.forEach((e) => roundTwoResult =
          roundTwoResult + int.parse(e.text.toString()));
      // 计算两个结果的总和
      totalResult = roundOneResult + roundTwoResult;
    });
  },
),
  1. 修改Text组件引用总和变量:
Text(
  "Result 
 Round 1: $roundOneResult and Round 2: $roundTwoResult Total = $totalResult",
  textAlign: TextAlign.center,
  style: const TextStyle(
    fontSize: 30,
  ),
),

通过以上两种方式,就能正确展示两个数值相加的结果,而非字符串拼接的形式。

内容的提问来源于stack exchange,提问作者securityNVR NVR

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.12 02:23:23