protected void btnView_Click(object sender, EventArgs e)
{
int StudentAdmissionNo = Convert.ToInt32(txtAdmissionNo.Text);
string StudentName = txtStudentName.Text;
DateTime DateOfBirth = Convert.ToDateTime(txtDOB.Text);
string Gender = txtGender.Text;
string Standard = txtstandard.Text;
string Section = txtSection.Text;
int Telugu = Convert.ToInt32(txtTelugu.Text);
int English = Convert.ToInt32(txtEnglish.Text);
int Mathematics = Convert.ToInt32(txtMathematics.Text);
//int Total = Convert.ToInt32(lblTot.Text);
//double Average = Convert.ToDouble(lblAve.Text);
string Result = lblRes.Text;
lblTot.Text = (txtTelugu.Text + txtEnglish.Text + txtMathematics.Text); # Total in coming if i enter the 45 65 65 = its coming 456565 like i did wrong?
lblAve.Text = ((lblTot.Text) / 3.00); //This also gives an error
}
在这段代码中,我有一个来自lblTot =
的错误来添加标记,它就像打印我输入的数字一样,平均也没有用。
答案 0 :(得分:1)
您正在连接文本。当您对文本/字符串使用+时,它充当连接运算符。
首先需要将文本转换为Integer以进行算术运算。
使用 Convert.ToInt32(输入);
使用以下行替换代码应该修复它。
lblTot.Text = (Convert.ToInt32(txtTelugu.Text) + Convert.ToInt32(txtEnglish.Text) + Convert.ToInt32(txtMathematics.Text)).ToString();
lblAve.Text = ((Convert.ToInt32(lblTot.Text)) / 3.00).ToString();
我刚刚注意到你已经在这里为整数分配了所需的值:
int Telugu = Convert.ToInt32(txtTelugu.Text);
int English = Convert.ToInt32(txtEnglish.Text);
int Mathematics = Convert.ToInt32(txtMathematics.Text);
哪个是正确的,您只需要添加这些变量,例如:
int total = Telugu + English + Mathematics;
lblTot.Text = total.ToString();
然后,对于平均值,只需使用我们刚刚赋值的total
变量:
lblAve.Text = Convert.ToString(Convert.ToDouble(total / 3.00)); // convert the average to double as you may get values with decimal point. And then convert it back to string in order to assign it to a Label control.
答案 1 :(得分:0)
如果我对你要做的事情的假设是正确的,你的代码应该是这样的。
decimal total = Teluga + English + Mathematics;
decimal average = (Teluga + English + Mathematics) / 3.00;
lblTot.Text = total.ToString();
lblAve.Text = average.ToString();
您正在尝试使用字符串来执行数学运算,但这不起作用。
此外,通常是
int x = Int32.TryParse(txtEnglish.Text)
是将字符串转换为整数的更好方法
答案 2 :(得分:0)
你的两个问题的根源是textbox.Text属性是string
。
在你的第一个问题中,你正在连接字符串,这就是为什么它会给你456565。
在第二个问题中,您正尝试对字符串和数字执行算术运算。
通过声明Int32
变量占位符并使用string
上的TryParse方法将字符串转换为数字,如下所示:
Int32 txtTeluguResult;
Int32.TryParse(txtTelugu.Text, txtTeluguResult);
另请注意,如果TryParse无法成功解析文本输入,则会为结果变量输入0。您可能希望使用Convert.ToInt32()
,如果失败则抛出FormatException,具体取决于您想要的行为。
答案 3 :(得分:0)
lblTot.Text = (txtTelugu.Text + txtEnglish.Text + txtMathematics.Text); # Total in coming if i enter the 45 65 65 = its coming 456565 like i did wrong?
lblAve.Text = ((lblTot.Text) / 3.00); this also giving error?
您使用的字符串变量不是int或real或decimal
做类似
的事情lblTot.Text = (((int)txtTelugu.Text + (int)txtEnglish.Text + (int)txtMathematics.Text)).ToString();
lblAve.Text = (((int)(lblTot.Text) / 3.00)).ToString(); this also giving error?