NaN в Math.pow(-9, 1/3.0)
Помогите найти болие простой и красивый способ решиние проблемы,
при Math.pow(-9, 1/3.0) выдает NaN
if (meg < 0)
{
meg = Math.Abs(meg);
sqrt = Math.Pow(meg, 1.0 / 3.0) * -1;
}
else
{
sqrt = Math.Pow(meg, 1.0 / 3.0);
}
вот мое решение проблемы meg - число которое может быть любым
В докуметации я нашел почему так происходит но не знаю как исправить

Помогите с решением
Ответы (1 шт):
Автор решения: Андрей NOP
→ Ссылка
Воспользуйтесь методом Math.Sign, он возвращает -1 для положительного и 1 для отрицательного:
var cbrt = Math.Pow(Math.Abs(x), 1 / 3.0) * Math.Sign(x);
Также, начиная с .NET Core 2.1 доступен метод Math.Cbrt:
var cbrt = Math.Cbrt(x);