Flutter点击加入购物车报错:double无法转换为Double的解决求助
问题解决:double与Double类型转换错误
错误原因
你导入了dart:ffi库,这个库中的Double是用于和C语言交互的FFI专用类型,而你的Product类中定义的price是Dart原生的double类型。代码里强行用as Double把原生double转成FFI的Double,导致类型不匹配抛出异常。
修复步骤
移除不必要的导入
删掉代码顶部的import 'dart:ffi';,购物车功能不需要和C交互,这个导入完全多余,还会造成类型混淆。修正类型转换代码
找到加入购物车的代码行: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);确认Cart类的方法参数类型
检查你的Cart类中addItem方法的定义,确保第二个参数的类型是Dart原生的double,而不是dart:ffi里的Double。比如正确的方法签名应该类似:void addItem(String productId, double price, String title) { // 方法实现 }
验证修复
修改后重新运行代码,点击加入购物车按钮,异常应该会消失,功能正常工作。
内容的提问来源于stack exchange,提问作者Tooraj rezaei
相关产品推荐
相关产品推荐

