我有許多雙重元素的串列,其中包含例如以下元素:[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));
但是這兩個代碼都不成功。
uj5u.com熱心網友回復:
在您的代碼中,您正在更改臨時變數的值,要更改串列中的值,您的代碼應如下所示:
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);
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/442446.html
