如何在GUI C中输出结果#

时间:2015-11-12 07:06:40

标签: c# string user-interface oop complex-numbers

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

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

编辑:那么,现在我想减去复数。它没有显示减法的结果。是因为我没有减去任何价值吗?

这是我的代码:

    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);
    }

3 个答案:

答案 0 :(得分:3)

你需要写:

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

顺便说一下。 .Net Framework 4.0及其后续版本具有内置的复数结构:

Complex Numbers in .Net 4.0

答案 1 :(得分:0)

您应该使用String.Format方法:

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

答案 2 :(得分:0)

你可以很好地做到这一点。在你的项目中制作一个结构,如:

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);
}