String arredonde(String n) {
final List x = n.split('.'); //break in to a list
if (x.length > 1) { //if its 0, then its already a rounded number or integer
int fstNmbr = int.parse(x[0]);
final int lstNmbrs = int.parse(x[1]);
if (lstNmbrs > 5) {
fstNmbr = fstNmbr + 1;
final String finalNumber = fstNmbr.toStringAsFixed(1);
return finalNumber;
} else {
if (lstNmbrs != 0) {
final double finalNumber = fstNmbr + 0.5;
return finalNumber.toStringAsFixed(1);
} else {
return n;
}
}
} else {
return n;
}
}
4条答案
按热度按时间zmeyuzjn1#
它是
ceil
:返回不小于此值的最小整数。
ha5z0ras2#
这里我把它四舍五入到下一个二进制数或下一个0.5示例:如果为6.6,则四舍五入为7.0。如果为6.2,则四舍五入为6.5。参见以下代码:
gc0ot86w3#
试试
如果您需要3位小数
ni65a41a4#
现在你有了你想要的东西。我选sup到5四舍五入,如果你想的话,