Dart - добавление двойного типа данных приводит к длинным десятичным значениям - PullRequest
0 голосов
/ 01 марта 2019

В следующей программе я добавляю список парных чисел.

Ожидаемый вывод - 57,7, но в результате получается 57,699999999999996

void main() {
  List<double> list= [1.0,1.0,1.0,1.0,0.8,52.9];
  double total = 0.0;

  list.forEach((item) {
    total = total + item;
  });
  print(total);

}

Это ожидаемое поведение?

1 Ответ

0 голосов
/ 01 марта 2019

Да, это ожидаемое поведение - для получения желаемого результата используйте - .toStringAsFixed(1)

void main() {
  List<double> list = [1.0, 1.0, 1.0, 1.0, 0.8, 52.9];
  double total = 0.0;

  list.forEach((item) {
    total = total + item;
  });
  print(total.toStringAsFixed(1));
}

вывод: 57,7

...