Dart 总分计算错误

Dart 总分计算错误,dart,numbers,double,Dart,Numbers,Double,有人能给我解释一下为什么下面的总和在dart中给出了错误的结果吗 final double result = 90071992547409.9 + 0.01; print(result); 它根据以下内容打印编号90071992547409.92: Dart双精度是IEEE 754标准中规定的64位浮点数 这是因为。在您的情况下(我使用): 90071992547409.9=90071992547409.90625~=90071992547409.91 0.01=0.0100000000002

有人能给我解释一下为什么下面的总和在dart中给出了错误的结果吗

final double result = 90071992547409.9 + 0.01;
print(result);
它根据以下内容打印编号90071992547409.92

Dart双精度是IEEE 754标准中规定的64位浮点数

这是因为。在您的情况下(我使用):

90071992547409.9=90071992547409.90625~=90071992547409.91

0.01=0.010000000000208166817117216851329430937776702880859375~=0.01

90071992547409.91+0.01=90071992547409.92

dart中的最佳解决方案是使用软件包