负数的平方根

Sto*_*boy 3 c# square-root

只是想知道,有可能在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();
    }
}
Run Code Online (Sandbox Code Playgroud)

如果我输入25,它会给出5.然而,如果我输入-5,它会给出NaN而不是5i.

Tim*_* S. 7

有一个Complex结构应该做你需要的:

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

(从大多数数字类型中隐含转换,包括int,到Complex.它的工作方式如下:数字作为实部,虚部为0.这-25是一个有效的参数Complex.Sqrt(Complex).)