我在分割字符串FormatException时遇到此错误:无效的double
double planAvg = (double.parse(planlist[pos].total_amt).toString() / double.parse(planlist[pos].total_weight).toString()).toStringAsFixed(2);
这就是我的实现方式
planAvg == ""
? SizedBox()
: Padding(
padding: const EdgeInsets.only(top: 8.0),
child: Text(
"Avg : " +
planAvg,
style: TextStyle(
fontSize: 17,
fontWeight: FontWeight.normal,
),
),
),
如果有人可以请帮助
答案 0 :(得分:0)
您正在将变换保持为两倍并一次又一次地返回。
假设这是一个字符串:planlist[pos].total_amt
String planAvg = (
double.parse(planlist[pos].total_amt) / double.parse(planlist[pos].total_weight)
).toStringAsFixed(2);
因此,您要做的是将它们都转换为两倍,进行除法运算,然后返回到String。
相反,如果您希望获得双倍的回报,只需:
double planAvg = double.parse(planlist[pos].total_amt) /
double.parse(planlist[pos].total_weight);
答案 1 :(得分:0)
这是您收到错误的原因:
toString()
方法将double值转换为String值。 /
运算符不能与字符串一起使用。
由于最后使用的是toStringAsFixed(2)
,因此它将返回一个String值。因此,您不能将其存储在double变量中。
尝试一下:
String planAvg = (double.parse(planlist[pos].total_amt) / double.parse(planlist[pos].total_weight)).toStringAsFixed(2);