参数类型 'double?' 无法分配给参数类型 'num',即使我检查值是否不为 null

The argument type 'double?' can't be assigned to the parameter type 'num', even if I check if the value is not null

我有这个功能:

double discount() {
    return cost_min_discounted != null ? cost_min - cost_min_discounted : 0;
}

cost_min_discounted 定义为 double?
我收到错误:

The argument type 'double?' can't be assigned to the parameter type 'num'

编写这样的代码的最佳方式是什么?我检查了空值,所以代码对我来说似乎是正确的。

虽然您已经在开头检查了 null,但在最后使用 !

double discount() {
  return cost_min_discounted != null ? cost_min - cost_min_discounted! : 0;
}