首页 > 解决方案 > 如何双重解析字符串并将其舍入到 2 个小数位

问题描述

我想要从添加的字符串值

List<String> priceStringList 

并转换为双打

List<double> doubleList 

只有 2 位小数。

for (int j = 0; j < priceStringList.length; j++) {
          var doubleData = double.parse(priceStringList[j]);
          doubleList.add(doubleData);
        }

for 循环后 doubleList 的示例数据包括:

[3.429, 3.44, 3.49, 3.41683, 3.35501, 3.02, 3.06, 3.17947,...

但我希望这些值只包括小数点后的前 2 位数字。我尝试使用

      var doubleData = Math.Round(double.parse(priceStringList[j]), 2);

但我收到一条错误消息,指出“未定义的名称‘数学’”。

编辑我已经添加了import 'dart:math';

标签: flutterdart

解决方案


尝试这个:

double roundDouble(double value, int places){ 
   double mod = pow(10.0, places); 
   return ((value * mod).round().toDouble() / mod); 
}

var doubleData = roundDouble(double.parse(priceStringList[j]), 2);

推荐阅读