只是想知道,是否可以在 C# 中计算负数的平方根?
例如 sqrt(-1) = i。
我写了这段代码:
using System;
public static class sqrts
{
public static void Main()
{
string x;
double sqrtofx;
Console.Write("Enter a number: ");
x = Console.ReadLine();
sqrtofx = Math.Sqrt(Convert.ToInt32(x));
Console.WriteLine("\nSqrt({0}): {1}", x, sqrtofx);
Console.ReadKey();
}
}
如果我输入 25,它给出 5。但是,如果我输入 -5,它给出 NaN 而不是 5i。
最佳答案
有一个 Complex
结构可以满足您的需求:
Complex c = Complex.Sqrt(-25); // has a value of approximately 0 + 5i
(从大多数数字类型(包括
int
)到 Complex
都有一个隐式转换。它的工作方式与您可能期望的一样:数字作为实部,虚部为 0。这就是 -25
如何成为有效参数的原因Complex.Sqrt(Complex)
。)关于c# - 负数的平方根,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18923247/