Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
无论如何我可以在不使用 ifs 的情况下做到这一点吗?
就像我想做的那样Math.Pow(-5f,2f)出来 -25 而不是 25?
Math.Pow(-5f,2f)
怎么样Math.Sign:
Math.Sign
返回一个值,该值指示单精度浮点数的符号。
所以计算将是:
Math.Sign(x) * Math.Pow(x, y)
如果想法是即使Pow操作返回负值也始终使用第一个操作数的符号 (而不是仅在第一个操作数为负时取反),您可以这样做:
Pow
Math.Sign(x) * Math.Abs(Math.Pow(x, y))