пожалуйста, исправьте мой код, он просто не работает, калькулятор MPG - PullRequest
0 голосов
/ 04 марта 2019

вот код, помогите пожалуйста.Это не работает.Мне обещали, что так и будет.Я не могу преобразовать строку текстового поля в int, поэтому я не могу выполнить необходимые математические операции.

        public Form1()
        {
            InitializeComponent();
        }

        int userVal = int.Parse(Form1.textBox1.Text);
        private void button1_Click(object sender, EventArgs e)
        {
            int answer = (Form1.textBox1 * Form1.textBox2);
            MessageBox.Show("MPG: ", answer);
        }

Ответы [ 2 ]

0 голосов
/ 04 марта 2019

Прежде всего.Вы должны действительно начать с основ, потому что в своем коде вы пытаетесь умножить два TextBox элемента управления, что невозможно.

Во-вторых.Я исправил твой код.

Int32.TryParse(someString,out anInt) пытается преобразовать первый параметр (someString) в Int32 и возвращает логическое значение для преобразования, независимо от того, было оно успешным или нет.Если преобразование прошло успешно, преобразованное значение сохраняется во втором параметре (anInt) и Int32.TryParse(someString,out anInt) возвращает true.

В исправленном коде вы просто пытаетесь преобразовать string s из обоих TextBox ы.Если вы смогли сделать это (возвращаемое значение Int32.TryParse), просто умножьте оба int s, которые вы получили от Int32.TryParse

public Form1()
{
    InitializeComponent();
}


private void button1_Click(object sender, EventArgs e)
{
    int num1,num2;
    If(Int32.TryParse(textBox1.Text,out num1) && Int32.TryParse(textBox2.Text,out num2))
    {
        int answer = num1 * num2;
        string output = "MPG: "+ answer.ToString();
        MessageBox.Show(output);
    }

}
0 голосов
/ 04 марта 2019
int userVal = int.Parse(Form1.textBox1.Text);

Прежде всего, эта строка должна быть помещена в функцию button1_Click для работы.Но теперь проблема в том, что вы используете строковый ввод для приема чисел, что не очень хорошая идея, потому что если вы наберете «abc», например, int.Parse выдаст исключение.

Теперь вы простодолжны заменить textBox1 и 2 на числовые входы, а затем использовать этот код:

public Form1()
{
    InitializeComponent();
}

private void button1_Click(object sender, EventArgs e)
{
    int answer = (numericalInput1.value * numbericalInput2.value);
    MessageBox.Show("MPG: ", answer);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...