gpt4 book ai didi

Dart - 减去一些 double 值会产生错误的结果

转载 作者:行者123 更新时间:2023-12-01 13:14:36 25 4
gpt4 key购买 nike

我选择了两个随机的 double 数字:

double a = 7918.52;
double b = 5000.00;

我希望从 2918.52 获得 a - b
好吧,它给了我 2918.5200000000004 的结果,这看起来很奇怪。
print(a - b); // -> 2918.5200000000004

但是如果我将 double a 更改为 7918.54 ,我将得到 2918.54 的预期结果。

有人可以向我解释为什么某些 double 值会导致意外的舍入问题而其他值不会?

最佳答案

这样做的原因是 floating-point arithmetic 以及 Dart 使用 IEEE 754 standard 的事实就我而言。

所有使用浮点运算的语言都会发生这种情况。您可以通读 similar questions 了解其他编程语言。

General question about floating-point arithmetic 在现代编程语言中。

关于Dart - 减去一些 double 值会产生错误的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56619416/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com