在Dart中使用赋值运算符

dwbf0jvd  于 11个月前  发布在  其他
关注(0)|答案(1)|浏览(115)
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");
}

字符串
此代码在拆分时给出以下错误:“不能将类型为'double'的值赋给类型为'int'的变量。”

mwecs4sa

mwecs4sa1#

当您这样做时:

var a=10;

字符串
a的类型是从赋值的右侧推断的。右侧是int文字,因此a被推断为int类型。
以后当你尝试做:

var bolme=a/=b;


a /= b部分失败,因为int.operator /总是返回double,因此该结果不能分配给只能存储int s的a
如果你希望a能够存储double s,那么你必须声明它是一个double(或者是一个numintdouble的基类):

double a = 10;


var a = 10.0;


num a = 10;


或者,如果你的目的是执行整数除法,你应该使用int.operator ~/

var a = 10;
var b = 2;
var bolme = a ~/= b;

相关问题