(评分系统)在分数文本框为空的情况下按计算显示格式异常未处理
本文关键字:情况下 计算 未处理 异常 显示格式 分系统 文本 | 更新日期: 2023-09-27 18:09:24
我正在做一个评分系统,我试过了点击计算按钮以便计算成绩,但我尝试了它留空并按下计算,但系统崩溃并说"formatException unhandling(输入字符串格式不正确)"。
我编写了if else语句来识别它是空的还是空的,但它不起作用。这些是我的代码"(顺便说一句,我的文本框被转换为双格式,以便让用户以双格式输入成绩
e。g double seatwork = Convert.ToDouble(txtSeatworkScore.text);
我将使我的代码简短。NVM else语句。
try
{
if(String.IsNullOrEmpty(txtSeatWorkScoreP.Text))
{
MessageBox.Show(" Input Seatwork for Prelim ");
txtSeatWorkScoreP.Focus();
}
else if (String.IsNullOrEmpty(txtSeatWorkScoreM.Text))
{
MessageBox.Show(" Input Seatwork for Midterm ");
txtSeatWorkScoreM.Focus();
}
else
{
txtResultP.Text = finalgradep.ToString("0#.##%"); // display final grade of prelim
txtResultM.Text = finalgradem.ToString("0#.##%"); // display final grade of midterm
txtResultF.Text = finalgradef.ToString("0#.##%"); // display final grade of finals
txtGA.Text = getga.ToString("0#.##%"); // display average
}
}
catch (FormatException q)
{
MessageBox.Show(" Make sure to input all the scores " + q.Message);
}
尝试使用类似"string newstring = string. format ("{0:0.00}",finalgradep);"然后是txresult。
还要确保使用文本更改事件或按键事件来过滤文本框,以便仅接收数字输入。您可以通过尝试将文本框中的文本解析为一个整数来实现这一点,该方法使用try/catch尝试在文本框中的keyup事件上执行int.Parse(txtSeatWorkScoreP.Text),然后将文本恢复到存储在全局字符串变量中的先前状态,或者允许输入新数字,然后更新您的全局字符串变量以反映新条目。
您收到的错误很可能是因为您试图以一种不可接受的方式格式化信息。
谢谢你的帮助。我已经解决了这个问题,将formatexception改为"Exception"来处理各种异常,这样,如果文本框是空的,它会打印" please input seatwork "之类的。
谢谢!快乐编码:)