无论如何我可以不使用ifs来做到这一点吗?
就像我想做Math.Pow(-5f,2f)
以-25而不是25?
答案 0 :(得分:7)
Math.Sign
如何:
返回表示单精度符号的值 浮点数。
所以计算将是:
Math.Sign(x) * Math.Pow(x, y)
如果想法是在Pow
操作返回负值时(而不是仅在第一个操作数为负时否定结果)时始终使用第一个操作数偶数的符号,你可以这样做:
Math.Sign(x) * Math.Abs(Math.Pow(x, y))