分隔字符串时出现无效的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,
         ),
        ),
      ),

如果有人能帮助

以下是出现错误的原因:

  1. toString()方法将double值转换为String值。/运算符不能与Strings一起使用。

  2. 由于最后使用的是toStringAsFixed(2),因此它会返回一个String值。因此,不能将其存储在双变量中。

试试这个:

String planAvg = (double.parse(planlist[pos].total_amt) / double.parse(planlist[pos].total_weight)).toStringAsFixed(2);

您将保持转换为两次和一次又一次。

假设这是一个字符串:planlist[pos].total_amt

String planAvg = (
    double.parse(planlist[pos].total_amt) / double.parse(planlist[pos].total_weight)
).toStringAsFixed(2);

所以,您要做的是将它们都转换为double,进行除法运算,然后返回到String。

相反,如果你想要双倍回报,只需:

double planAvg = double.parse(planlist[pos].total_amt) / 
                 double.parse(planlist[pos].total_weight);
    

最新更新