C# 使用数学,Pow并保持符号?

C# 使用数学,Pow并保持符号?,c#,pow,C#,Pow,我是否可以不用ifs来做这个 就像我想做的Math.Pow(-5f,2f)结果是-25而不是25?如何使用: 返回一个值,该值指示单个精度的符号 浮点数 因此,计算如下: Math.Sign(x) * Math.Pow(x, y) 如果要始终使用第一个操作数的符号,即使Pow操作返回负值(而不是在第一个操作数为负值时仅求反),则可以执行以下操作: Math.Sign(x) * Math.Abs(Math.Pow(x, y)) x为负数,y为奇数将丢失sign@Austin:好的,我已经解决了

我是否可以不用ifs来做这个

就像我想做的
Math.Pow(-5f,2f)
结果是-25而不是25?

如何使用:

返回一个值,该值指示单个精度的符号 浮点数

因此,计算如下:

Math.Sign(x) * Math.Pow(x, y)
如果要始终使用第一个操作数的符号,即使
Pow
操作返回负值(而不是在第一个操作数为负值时仅求反),则可以执行以下操作:

Math.Sign(x) * Math.Abs(Math.Pow(x, y))

x为负数,y为奇数将丢失sign@Austin:好的,我已经解决了这个问题,假设这是OP想要的。这两种情况都不清楚。你为什么期望是-25?它(Sqr为-5)应该是25。