Dart - Double数据类型添加导致长十进制值

问题描述 投票:0回答:1

在下面的程序中,我添加了双打列表。

我期待的输出是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);

}

这是预期的行为吗?

dart flutter dart-2
1个回答
2
投票

是的,这是预期的行为 - 获得所需的结果 - .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

© www.soinside.com 2019 - 2024. All rights reserved.