gpt4 book ai didi

ios - pow 使用具有负指数的 Double 或 Decimal 返回不同的结果

转载 作者:行者123 更新时间:2023-12-02 06:04:04 24 4
gpt4 key购买 nike

使用 Xcode 11.1,如果我运行一个 Playground:

pow(10 as Double, -2)  // 0.01

我使用 Float 得到相同的输出:

pow(10 as Float, -2) // 0.01

但是如果我尝试使用 pow(Decimal, Int) ,如下所示:

pow(10 as Decimal, -2) // NaN

有人知道为什么吗?

是否有更好的方法来处理 pow 和 Decimal 的正负指数?我需要 Decimal,因为它们的行为符合我对货币值(value)的预期。

编辑:我知道如何从数学角度解决这个问题,我想了解为什么会发生这种情况和/或是否可以在不增加代码的圈复杂度的情况下解决它(例如检查指数是否为负并且执行1/pow)

最佳答案

好吧,从代数角度来说,x^(-p) == 1/(x^(p))

因此,将负功率转换为正功率,然后取倒数。

1/pow(10 as Decimal, 2) // 0.01

关于ios - pow 使用具有负指数的 Double 或 Decimal 返回不同的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59756422/

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