双打圆名单
Round list of doubles
我有一个包含许多双精度元素的列表,其中包含例如以下元素:[1.95, 1.986, 1.9602, 2.0477,...
我尝试使用此代码将元素四舍五入到两位小数:
List<double> listMax = List.from(data_snap()['animals']); //from Firebase
for (var value in listMax) {
value = roundDouble(value,2);
}
double roundDouble(double value, int places){
double mod = pow(10.0, places);
return ((value * mod).round().toDouble() / mod);
}
作为替代:
listMax.forEach((element) => roundDouble(element,2));
但是两次代码都不成功
在您的代码中,您正在更改临时变量的值,要更改列表中的值,您的代码应如下所示:
List<double> listMax = List.from(data_snap()['animals']); //from Firebase
for(int i =0 ;i<listMax.length;i++){
listMax[i]= roundDouble(listMax[i],2);
}
double roundDouble(double value, int places){
double mod = pow(10.0, places);
return ((value * mod).round().toDouble() / mod);
}
我有一个包含许多双精度元素的列表,其中包含例如以下元素:[1.95, 1.986, 1.9602, 2.0477,...
我尝试使用此代码将元素四舍五入到两位小数:
List<double> listMax = List.from(data_snap()['animals']); //from Firebase
for (var value in listMax) {
value = roundDouble(value,2);
}
double roundDouble(double value, int places){
double mod = pow(10.0, places);
return ((value * mod).round().toDouble() / mod);
}
作为替代:
listMax.forEach((element) => roundDouble(element,2));
但是两次代码都不成功
在您的代码中,您正在更改临时变量的值,要更改列表中的值,您的代码应如下所示:
List<double> listMax = List.from(data_snap()['animals']); //from Firebase
for(int i =0 ;i<listMax.length;i++){
listMax[i]= roundDouble(listMax[i],2);
}
double roundDouble(double value, int places){
double mod = pow(10.0, places);
return ((value * mod).round().toDouble() / mod);
}