gpt4 book ai didi

swift - 除法在功能上返回不同的东西

转载 作者:行者123 更新时间:2023-11-28 11:22:45 25 4
gpt4 key购买 nike

将以下代码粘贴到 playground 中:

5.0 / 100

func test(anything: Float) -> Float {
return anything / 100
}

test(5.0)

第一行应按预期返回 0.05。函数测试返回 0.0500000007450581。为什么?

最佳答案

与函数无关。您的第一个示例是使用 Double 类型,它通过使用 64 位更精确地表示 float 。如果您要将第二个示例更改为:

func test(anything: Double) -> Double {
return anything / 100
}

test(5.0)

您会得到您期望的结果。 Float 仅使用 32 位数据,因此它提供的数字表示不太精确。此外, float 存储为二进制值,通常只是以 10 为底的近似值。这就是 0.05 在存储为 Float 时显示为 0.0500000007450581 的原因。

关于swift - 除法在功能上返回不同的东西,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25986266/

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