2015-04-29 45 views
-1

我正在尝试制作一个家用酿造计算器,当用户输入原始重力和最终重力并按下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; 
     } 
    } 
} 

回答

4

这些任务应该是otherway这样

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

你的问题是,在这些线路:

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

我觉得你真的是做的是:

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

BTW ABV应该可能是一个浮动而不是int,因为它会被截断/舍入

此外,您的代码不够健壮,您可能需要首先检查文本框中是否有有效的输入,然后使用int.TryParseConvert