flutter - 如何双重解析字符串并将其舍入到 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';
解决方案
尝试这个:
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);
推荐阅读
- javascript - Google 代码美化代码突出显示不适用于 Polymer 3
- sql - SQL 计数显示不同的名称,但不正确的匹配数
- node.js - 我们可以使用护照本地策略和护照谷歌策略来实现登录功能吗
- r - 在使用包含其名称的字符串引用数据框时更改数据框列名称
- glm - GLM Poisson 认为我的数据集中有负值,抛出错误
- node.js - 第二个中间件只在路由方法之后调用
- git - 无法将项目推送到 github
- mongodb - 如何记录无 SQL 数据库模型?
- javascript - 在 Python 中使用 jQuery 对 AWS lambda 函数的 Ajax 调用
- html - 使用 swift 动态创建 h1 标签