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

Flutter点击加入购物车报错:double无法转换为Double的解决求助

问题解决:double与Double类型转换错误

错误原因

你导入了dart:ffi库,这个库中的Double是用于和C语言交互的FFI专用类型,而你的Product类中定义的price是Dart原生的double类型。代码里强行用as Double把原生double转成FFI的Double,导致类型不匹配抛出异常。

修复步骤

  1. 移除不必要的导入
    删掉代码顶部的import 'dart:ffi';,购物车功能不需要和C交互,这个导入完全多余,还会造成类型混淆。

  2. 修正类型转换代码
    找到加入购物车的代码行:

    cart.addItem(product.id, product.price as Double, product.title);
    

    把product.price as Double改成product.price,直接传入原生double类型即可:

    cart.addItem(product.id, product.price, product.title);
    
  3. 确认Cart类的方法参数类型
    检查你的Cart类中addItem方法的定义,确保第二个参数的类型是Dart原生的double,而不是dart:ffi里的Double。比如正确的方法签名应该类似:

    void addItem(String productId, double price, String title) {
      // 方法实现
    }
    

验证修复

修改后重新运行代码,点击加入购物车按钮,异常应该会消失,功能正常工作。

内容的提问来源于stack exchange,提问作者Tooraj rezaei

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.28 02:58:14