如何在GUI C#中输出结果

本文关键字:输出 结果 GUI | 更新日期: 2023-09-27 18:21:33

我正在尝试从GUI添加两个复数。我创建了4个文本框——2个是实数,2个是虚数。我创建了一个输入按钮。因此,当我按下回车键时,它会在MessageBox中显示我的结果。

我需要帮助来显示我的结果。我需要它以这样的方式显示:3+5i(其中3是实数的和,5是虚数的和。我也需要"I"显示)。我在这部分下面得到一条红线:sum=("{0}+{1}i",x,y);

edited:所以,现在我想做复数的减法。它没有显示减法的结果。是因为我没有减去任何一个vaule吗?

这是我的代码:

    private double rPart1; // real number
    private double iPart1; // imaginary number
    private double rPart2; // real number
    private double iPart2; // imaginary number
    double x;
    double y;
    double call;
    double r;
    string sum;
    public string add()
    {
        rPart1 = Convert.ToDouble(textBoxReal1.Text);
        iPart1 = Convert.ToDouble(textBoxImaginary1.Text);
        rPart2 = Convert.ToDouble(textBoxReal2.Text);
        iPart2 = Convert.ToDouble(textBoxImaginary2.Text);
        x = rPart1 + rPart2;
        y = iPart1 + iPart2;
        sum = ("{0} + {1}i",x ,y);
        return sum;
    }
    public string sub()
    {
        x = rPart1 - rPart2;
        y = iPart1 - iPart2;
        subtract = (x + "-" + y + "i");
        return subtract;
    }
    private void buttonEnter_Click(object sender, EventArgs e)
    {
        sum = add();
        subtract = sub();
        MessageBox.Show("The addition is: " + sum
            + "'nThe subtraction is: " + subtract);
    }

如何在GUI C#中输出结果

您需要编写:

sum = string.Format("{0} + {1}i", x, y);

Btw。.Net Framework 4.0及更高版本确实内置了一个复数结构:

.Net 4.0 中的复数

您应该使用String.Format方法:

string result = String.Format ("{0} + {1}i", x, y) ;

你可以用一种很好的方式来完成。在你的项目中创建一个结构,比如:

public struct MyNumber
{
public MyNumber(double rPart1,double iPart1,double rPart2,double iPart2){//Set fields value}
    private double rPart1;
    private double iPart1;
    private double rPart2;
    private double iPart2;
    public  double X { get { return rPart1 + rPart2 ; } }
    public  double Y { get { return iPart1 + iPart2; } }
    public  string Sum(string format)
    {
       return string.Format(format, X, Y);
     }
  }

并且在你的代码中

public string add()
{
   MyNumber number=new MyNumber(Convert.ToDouble(textBoxReal1.Text),Convert.ToDouble(textBoxImaginary1.Text),Convert.ToDouble(textBoxReal2.Text),Convert.ToDouble(textBoxImaginary2.Text));
   return number.Sum(custom format);
}