请更正我的代码,它无法正常工作,MPG计算器

时间:2019-03-04 10:28:02

标签: c# forms textbox

这是代码,请提供帮助。它不起作用。我答应了。 我无法将文本框的字符串转换为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 :(得分:2)

首先。您应该真正从基础开始,因为在您的代码中,您尝试将两个TextBox控件相乘,这是不可能的。

第二。我更正了您的代码。

Int32.TryParse(someString,out anInt)尝试将第一个参数(someString)转换为Int32,并返回有关转换是否成功的布尔值。如果转换成功,则转换后的值将存储在第二个参数(anInt)中,并且Int32.TryParse(someString,out anInt)返回true

在更正后的代码中,您只需尝试将两个string中的TextBox转换为Int32.TryParse。如果您能够这样做(返回值int),只需将您从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); } } 相乘即可

foreach ($currentCart as $item){
  $currentCart[1] = [
      'name' => $item['name'],
      'image' => $item['image'],
      'price' => $item['price'],
      'unit' => $item['unit'],
      'name_unit' => $item['name_unit'],
      'amount' => $item['amount'] = $request->input('amount'),
  ];
  $request->session()->put('cart', $currentCart);
}

答案 1 :(得分:-2)

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