math.sqrt的返回值
本文关键字:返回值 sqrt math | 更新日期: 2023-09-27 18:28:51
我一直试图绘制y^2=4*a*x的函数,但遇到了一个问题。当我用math.sqrt函数来求一个有两个答案+或-的值的平方根时,我只得到正值。即,如果我找到4的sqrt,它将返回+2而不是+或-2。
如有任何帮助,我们将不胜感激。
您可以编写自己的方法来返回这两个值:
public static IEnumerable<double> Sqrt(double d)
{
var result = Math.Sqrt(d);
yield return result;
yield return -result;
}
您也可以将答案与-1相乘,然后两者都得到。
如果您阅读了文档(MSDN非常完整,制作精良,请在提问前使用它),您会发现参数为0或正时,Math.Sqrt
仅返回"d的正平方根。"
如果你需要负值,你必须自己做,例如:
double value = 4;
double positiveSqrt = Math.Sqrt(value);
double negativeSqrt = positiveSqrt * -1;
如果你真的想要一个同时返回正平方根和负平方根的函数,你可以很容易地编写自己的函数:
public static double[] Sqrts(double d) {
var v = Math.Sqrt(d);
return v == 0 ? new[] { v } : new[] { v, -v };
}