Как вывести мои результаты в GUI C#

Я пытаюсь добавить два комплексных числа из графического интерфейса. Я создаю 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 ответа

Вам нужно написать:

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);
}
Другие вопросы по тегам