Как вывести мои результаты в 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 и более поздние версии имеют встроенную структуру сложных чисел:
Вы должны использовать 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);
}