问题:一个应用程序,可让您输入员工的总薪资和奖金金额,并计算退休金额。
我的代码:
where users.last_login >= DATE(NOW()) - INTERVAL 7 DAY group by agencies.name
order by agencies.name
此问题:代码似乎是正确的,但每次我输入数据并点击计算时我都会收到此消息:"奖金金额无效"。代码编写不正确或者究竟发生了什么。我没有输入正确的数据吗?
答案 0 :(得分:0)
您正在尝试解析bonusLabel.Text
。我猜测bonusLabel
是TextBox的标签,而不是TextBox本身。 TextBox可能叫做bonusTextBox
吗?
...
if (decimal.TryParse(bonusTextBox.Text, out bonus))
...
答案 1 :(得分:0)
看起来你正在解析错误的方式或错误的字段,我建议你应该这样做,在你的文本框控件上附加keypress事件并强制用户只输入数字
private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
{
string text = textBox1.Text;
return !Regex.IsMatch(text, @"^\d+\.?\d*$";
}
private void calculateButton_Click(object sender, EventArgs e)
{
decimal grossPay = decimal.Parse(grorssTextBox.text);
decimal bonus = decimal.Parse(bonusTextBox.text);
//rest of code
}
而不是key paress,你可以将正则表达式代码放在验证函数中,并确认完整的文本框输入。