当我尝试使用 C# 对一个小数求 N 次根时,我得到了一个错误的数。
例如,当我试图对 1.07 求三次方根时,我得到 1,这显然不是真的。
这是我用来获取第三根的确切代码。
MessageBox.Show(Math.Pow(1.07,(1/3)).toString());
我该如何解决这个问题?
我猜这是一个浮点运算问题,但我不知道如何处理。
最佳答案
C# 将 1 和 3 视为整数,您需要执行以下操作:
Math.Pow(1.07,(1d/3d))
或
Math.Pow(1.07,(1.0/3.0))
这其实很有趣,因为隐式扩大转换会让你犯错误。
关于c# - 小数的 N 次根在 C# 中返回意外结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1546818/