gpt4 book ai didi

ios - 在双值比较 iOS 中得到奇怪的结果

转载 作者:行者123 更新时间:2023-11-29 12:53:19 26 4
gpt4 key购买 nike

当我比较 if.. 语句 中的 double 值时,我正在做非常基本的计算并得到奇怪的结果。请参阅所附的屏幕截图。 enter image description here

我用红色标记标记了变量值。您可以看到变量 totalSliceValue 的值为 100,当我将该值与 100.0 进行比较时,它返回 TRUE,但 100 不是大于 100

任何人都可以解释为什么我得到这个。我的代码中是否存在任何错误,或者是编译器的问题。

提前致谢!

最佳答案

当它是 double 时,100 通常大于或小于 100。它实际上是 100.000000000127832645 或类似的东西。

What Every Computer Scientist Should Know About Floating-Point Arithmetic

Another of many articles on the problem developers face when working with floats and doubles.

解决方案:用一个double减去另一个double,检查结果是否小到你可以把它们当做相等,而不是它们相等。

One duplicate StackOverflow question

Another duplicate

问题不在于编译器,而在于您指示它的方式 - 它根据 IEEE float 规则工作。

关于ios - 在双值比较 iOS 中得到奇怪的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21871326/

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