我正在创建一个C#项目,它接受两个复数的用户输入,并对它们完成数学运算。我遇到的问题是如何解析 i 作为-1的平方根。
double operandA = 0;
double operandB = 0;
double result = 0;
string textA, textB;
string error = "The value you entered is invalid, try again";
private void plus_Btn_Click(object sender, EventArgs e)
{
result = operandA + operandB;
}
private void Subtract_btn_Click(object sender, EventArgs e)
{
result = operandA - operandB;
}
private void mult_Btn_Click(object sender, EventArgs e)
{
result = operandA * operandB;
}
private void divide_Btn_Click(object sender, EventArgs e)
{
result = operandA / operandB;
}
private void textBox2_Leave(object sender, EventArgs e)
{
textB = textBox2.Text;
if (double.TryParse(textB, out operandB))
operandB = double.Parse(textB);
else
{
MessageBox.Show(error);
textBox2.Select();
}
}
private void textBox1_Leave(object sender, EventArgs e)
{
textA = textBox1.Text;
if (double.TryParse(textA, out operandA))
operandA = double.Parse(textA);
else
{
MessageBox.Show(error);
textBox1.Select();
}
}
它对常规数字,小数和负数都可以正常工作,但我无法弄清楚如何处理我需要的 i 的值。有人可以帮忙吗?有人建议我使用System.Numeric.Complex,但每当我尝试使用"使用System.Numerics.Complex"或者只是"使用System.Numerics",它表示这种类型/名称空间不存在于“系统”中。
答案 0 :(得分:7)
如果您想支持复数操作,则应考虑使用System.Numerics.Complex
Complex c = Complex.Sqrt(-1);
Console.WriteLine(c + 1);
有关此类型的文档,请参阅here
答案 1 :(得分:2)
您可以在System.Numerics中使用Complex
https://msdn.microsoft.com/en-us/library/system.numerics.complex(v=vs.110).aspx