我在去平方负数时遇到问题......(2*(1-0.5)-4)/((4*(4-2))/(2-1))^(1/2) = -1.06066017但是我得到了NaNpackage mainimport ( "fmt" "math")func main() { fmt.Print(math.Sqrt((2*(1-0.5) - 4) / ((4 * (4 - 2)) / (2 - 1))))}或者如果我math.Abs这样使用:fmt.Print(math.Sqrt(math.Abs((2*(1-0.5) - 4) / ((4 * (4 - 2)) / (2 - 1)))))我回来了:0.6123724356957那是不正确的,正确的结果是:-1.06066017有什么办法可以解决这个问题吗?
1 回答
慕尼黑8549860
TA贡献1818条经验 获得超11个赞
问题是:
(2*(1-0.5)-4)/((4*(4-2))/(2-1))^(1/2)
在你的计算器中被评估为(2*(1-0.5)-4)
除以,它确实产生了。((4*(4-2))/(2-1))^(1/2)
-1.06..
但是你给了 Go(2*(1-0.5)-4)/((4*(4-2))/(2-1))
一个负数,并告诉它计算它的平方根,这会很复杂。
所以尝试:
fmt.Print((2*(1-0.5) - 4) / math.Sqrt(((4 * (4 - 2)) / (2 - 1))))
- 1 回答
- 0 关注
- 72 浏览
添加回答
举报
0/150
提交
取消