/ / Връщаща стойност на math.sqrt - c #, функция, връщане, math.sqrt

Връщаща се стойност на math.sqrt - c #, функция, връщане, math.sqrt

Аз се опитах да начертая функцията на y ^ 2 = 4 * a * xно имам проблем. когато използвам функцията math.sqrt, за да намеря квадратния корен на стойност, която има два отговор + или нещо, което получавам само положителната стойност. т.е. ако намерих sqrt на 4 тя ще се върне +2 вместо + или -2.

Всяка помощ би била дълбоко ценена.

Отговори:

2 за отговор № 1

Можете да напишете своя собствен метод, за да върнете двете стойности:

public static IEnumerable<double> Sqrt(double d)
{
var result = Math.Sqrt(d);
yield return result;
yield return -result;
}

1 за отговор № 2

Можете да умножете отговора с -1 и да получите и двете.


0 за отговор № 3

Ако четете док (MSDN е наистина завършен и добре направен, използвайте го преди да задавате въпроси), ще видите, че с параметър 0 или положителен, Math.Sqrt връща само "Положителният корен на d."

Ако имате нужда от отрицателна стойност, трябва да го направите сами, например като това:

double value = 4;
double positiveSqrt = Math.Sqrt(value);
double negativeSqrt = positiveSqrt * -1;

0 за отговор № 4

Ако наистина искате функция, която връща както положителни, така и отрицателни квадратни корени, бихте могли да напишете своя собствена доста лесно:

public static double[] Sqrts(double d) {
var v = Math.Sqrt(d);
return v == 0 ? new[] { v } : new[] { v, -v };
}