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

Dart中使用赋值运算符报错:double类型无法赋值给int类型

问题原因

Dart 里的/除法运算符,不管操作数是整数还是小数,返回的结果都是double类型。你的代码中a初始赋值为10(int类型),执行a /= b时,会把除法得到的double值赋值给int类型的a,这就触发了类型不匹配的错误。

解决方法

有两种常用的修复方式,可根据需求选择:

方式一:使用整数除法运算符~/

如果只需要整数结果,把除法语句里的/换成~/,它会返回整数类型的结果,和a的int类型匹配:

void main()
{
  var a=10;
  var b=2;
  var toplam=a+=b;
  var fark=a-=b;
  var carpim=a*=b;
  var bolme=a~/=b; // 替换为整数除法运算符
  print("$toplam");
  print("$fark");
  print("$carpim");
  print("$bolme");
}

方式二:将变量a声明为double类型

如果需要保留小数结果,把a的初始值改为double类型(比如10.0),或者显式声明为double,这样后续所有运算结果都是double,不会出现类型不兼容:

void main()
{
  double a=10; // 显式声明为double类型
  var b=2;
  var toplam=a+=b;
  var fark=a-=b;
  var carpim=a*=b;
  var bolme=a/=b;
  print("$toplam");
  print("$fark");
  print("$carpim");
  print("$bolme");
}

内容的提问来源于stack exchange,提问作者Zeynep Baysoy

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.05 05:03:00