【问题标题】:how can I convert user textbox input into an integer?如何将用户文本框输入转换为整数?
【发布时间】:2015-04-29 21:44:27
【问题描述】:

我正在尝试制作一个家庭酿造计算器,当用户输入原始重力和最终重力并按下Calculate 按钮时,程序使用数据来计算酒精重量和酒精体积。

这看起来很简单,但我很难将用户输入转换为可用于方程式的整数。我收到一条错误消息,内容为

赋值的左边必须是变量、属性或 一个索引器。

任何帮助将不胜感激。

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace BrowerD_Final
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void btnCalculate_Click(object sender, EventArgs e)
        {
            //declare variables
            int origGrav;
            int finalGrav;
            int gravDifference;
            int abw;
            int abv;

            //converting tbOrigGrav input to int
            origGrav = Convert.ToInt32(tbOrigGrav.Text);
            origGrav = int.Parse(tbOrigGrav.Text);

            //converting tbFinalGrav input to int
            finalGrav = Convert.ToInt32(tbFinalGrav.Text);
            finalGrav = int.Parse(tbFinalGrav.Text);

            //show numbers in messagebox for testing
            //MessageBox.Show(this.tbOrigGrav.Text);
            //MessageBox.Show(this.tbFinalGrav.Text);

            origGrav - finalGrav = gravDifference;

            gravDifference * 105 = abw;

            abw * 1.25 = abv;
        }
    }
}

【问题讨论】:

    标签: c# forms user-interface int type-conversion


    【解决方案1】:

    这些分配应该是这样的

    gravDifference = origGrav - finalGrav;
    abw = gravDifference * 105 ;
    abv = abw * 1.25 ;
    

    【讨论】:

      【解决方案2】:

      您的问题在于以下几行:

      origGrav - finalGrav = gravDifference;
      gravDifference * 105 = abw;
      abw * 1.25 = abv;
      

      我认为你真正的意思是:

      gravDifference = origGrav - finalGrav;
      abw = gravDifference * 105;
      abv = abw * 1.25;
      

      BTW abv 应该是浮点类型而不是 int,因为它会被截断/舍入

      另外,您的代码不是那么健壮,您可能想首先检查文本框中是否有有效输入,然后使用int.TryParse 而不是Convert

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-11-01
        • 2021-11-04
        相关资源
        最近更新 更多