Учитывая двойное, я хочу округлить его до заданного числа точек точности после десятичной точки, аналогично функции round() PHP.Как вы обходите двойник в Дарте с заданной степенью точности ПОСЛЕ десятичной точки?
Ближайшей вещь, которую я могу найти в документации дротика double.toStringAsPrecision(), но это не совсем то, что мне нужно, потому что она включает в себя цифру перед тем десятичной точки в общих точках точности.
Например, при использовании toStringAsPrecision (3):
0.123456789 rounds to 0.123
9.123456789 rounds to 9.12
98.123456789 rounds to 98.1
987.123456789 rounds to 987
9876.123456789 rounds to 9.88e+3
В качестве величины при увеличении числа, я, соответственно, теряет точность после десятичного знака.
Это лучший текущий способ сделай это. Округление до точности, как 0.01, которая сама по себе не является двойной, не является тривиальной. Результат может быть даже не представлен как двойной. Я настоятельно рекомендую использовать целые числа для чего-либо, где важна десятичная точность (например, деньги). – lrn
Также стоит отметить, что если компилировать в js, то целые числа Dart также начнут терять точность, и вам нужно будет использовать пакет, например: https://pub.dartlang.org/packages/bignum –