почему номер NaN? - PullRequest
       14

почему номер NaN?

0 голосов
/ 02 июля 2019

Я пытаюсь вычислить дельту числа, используя формулу бхаскара и дельта, но она дает NaN в окне сообщения

//Variables declaration
int a = 800, b = 500, c = 350;
double delta, a1, a2;

//Formulas
delta = (b*b) - (4*a*c);
a1 = (-b + Math.Sqrt(delta)) / (2 * a);
a2 = (-b - Math.Sqrt(delta)) / (2 * a);

//Output
MessageBox.Show(a1.ToString());
MessageBox.Show(a2.ToString());

enter image description here

Ответы [ 2 ]

2 голосов
/ 02 июля 2019

Значение delta равно -870000.
Это не значение, которое вы можете взять в квадратном корне (и в любом случае получить действительное число ).

Из Математических документов :

enter image description here

1 голос
/ 02 июля 2019

Как сказал Брутс, Math.sqrt отрицательного числа вернет NaN. Существует Complex структура, которая должна делать то, что вам нужно:

Complex c = Complex.Sqrt(-25); // has a value of approximately 0 + 5i
...