只是想知道,是否可以在 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/

10-13 03:15