C # Math.Pow () не работает
И нет, это (на мой взгляд) не связано с целочисленным делением или проблемами округления с плавающей точкой.
Мой точный код:
static void Main(string[] args)
{
double power = (double)1.0 / (double)7.0;
double expBase = -128.0;
System.Console.WriteLine("sanity check: expected: -128 ^ 0.142857142857143 = -2. actual: " + expBase + " ^ " + power + " = " + Math.Pow(expBase, power));
System.Console.ReadLine();
}
Выход:
sanity check: expected: -128 ^ 0.142857142857143 = -2. actual: -128 ^ 0.14285 7142857143 = NaN
Целевой платформой для этого кода является (в соответствии со свойствами решения) .NET Framework 4.0 Client Profile.
Странно, я не нашел упоминаний об этом нигде в Интернете. Я принимаю сумасшедшие таблетки здесь?