ios - 在 Xcode 控制台中除以两个双打会产生错误的结果
问题描述
我在 Xcode 中尝试了一些东西,但遇到了一个无法解释的情况,Xcode 给我一个简单的除法错误的结果:
let a : Double = 0.235
let b : Double = 0.001
let nrOfDivisions = a / b
print("Divisions: ", nrOfDivisions) //prints 234.99999999999997
很奇怪,如果我从0.230 ... 0.234
到相同数量的0.001
,我会得到正确的结果,但从0.235 ... 0.239
我开始会得到这些错误的结果。我现在已经测试过0.225, 0.226, 0.227, 0.245, 0.246, 0.247
,它们都正确划分。
这里可能是什么问题?这是 Xcode 中的错误,还是我遗漏了什么?
解决方案
那么这可能是由于这个问题:为什么不使用 Double 或 Float 来表示货币?. 您是否认为 Apple 错误地实现了浮点?在 Java 世界中,这些问题经常出现,并且BigDecimal
是解决方案,您可以阅读相关内容。
推荐阅读
- python - 为什么我的 RSI 计算与 Yahoo Finance 大相径庭?
- lua - 如何在 Lua 中通过 ESP32 和 NodeMCU 使用蓝牙
- doxygen - Doxygen:组子项目
- c - cs50 pset5 拼写器 - 循环永远运行并且“字典中的单词”冻结在第一个值
- node.js - 自动化 NuxtJS 静态站点生成
- mlp - Fluentbit - 解析多种格式的日志(log+json)
- c# - 使用 C# 读取/写入调试端口 (0x80h)
- flutter - Flutter TextFormField 提示标签和光标位置?
- c - 宏在 C 中的行为不同并给出不同的输出
- javascript - 当值是 Camunda 中的数组时如何在脚本任务中设置变量