2014-05-13 1 views
0

Im пытается перевести функцию первенствовать:Math Pow внутри другой математической функции ПР в C#

10^(-0,2*7^2+2,74*7+(-4,72)) 

Что дает мне результат = 45708,8

Когда я пытаюсь выполнить это в моем приложении я получить неверный результат каждый раз .. сейчас я застрял на результат = 0

мой C# код:

destB = (decimal)Math.Pow(10, -0.2 * Math.Pow(Decimal.ToDouble(destB), 2.74 * Decimal.ToDouble(destB)+(-4.72))) 
+0

Ваш две формулы являются не то же самое. '' C# 'идет как' 10^(- 0.2 * destB^(2.74 * destB - 4.72)) ' – MicroVirus

ответ

1

Что такое destB? Переведенная версия:

Math.Pow(10, -0.2 * 7 * 7 + 2.74 * 7 - 4.72) 

7 Если это destB, то:

Math.Pow(10, -0.2 * destB * destB + 2.74 * destB - 4.72) 

Пример кода:

double destB = 7; 
double result = Math.Pow(10, -0.2 * destB * destB + 2.74 * destB - 4.72); 
Console.WriteLine(result); 

C# Demo

P.S. Я не делаю Math.Pow(destB, 2), так как он ни улучшает читаемость, ни сокращает код.

0

Это делает его

Math.Pow(10,(-0.2* Math.Pow(7,2)+2.74*7+(-4.72))) 
0

Это будет точный перевод

var destB = Math.Pow(10, -.2 * Math.Pow(7, 2) + 2.74 * 7 + (-4.72));