输出没有在C#中生成结果

时间:2018-03-23 04:48:31

标签: c# if-statement boolean user-input

问题:一个应用程序,可让您输入员工的总薪资和奖金金额,并计算退休金额。

我的代码:

where users.last_login >= DATE(NOW()) - INTERVAL 7 DAY group by agencies.name 
order by agencies.name

此问题:代码似乎是正确的,但每次我输入数据并点击计算时我都会收到此消息:"奖金金额无效"。代码编写不正确或者究竟发生了什么。我没有输入正确的数据吗?

2 个答案:

答案 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,你可以将正则表达式代码放在验证函数中,并确认完整的文本框输入。