private void btnMoney_Click(object sender, EventArgs e)
{
double totalPrice=0; if (this.txtDays.Text.Trim()!="")
{ if (lvGive.SelectedItems.Count > 0)
{ rentLicenseNO = lvGive.SelectedItems[0].Text;
rentvehicles[rentLicenseNO].RentDate = int.Parse(this.txtDays.Text.Trim());
vehicles.Add(rentvehicles[rentLicenseNO].LicenseNO, rentvehicles[rentLicenseNO]);
totalPrice = rentvehicles[rentLicenseNO].CalcPrice();
if (rentvehicles.ContainsKey(rentLicenseNO))
{
rentvehicles.Remove(rentLicenseNO);
} MessageBox.Show(string.Format("共计租赁费用为:{0}", totalPrice.ToString())); btnRefreshGive_Click(sender, e);
}
else
{
MessageBox.Show("请选择一项!");
}
}
else
{
MessageBox.Show("请输入借车天数!");
}
}
如代码红色所示this.txtDays.Text.Trim()文本框中如果不是数字,则会报错,请问怎么处理,当我点击btnMoney_Click按钮时,如果检验到this.txtDays.Text.Trim()非数字给出对话框提示。最好详细点。帮帮小弟吧,谢谢各位了
{
double totalPrice=0; if (this.txtDays.Text.Trim()!="")
{ if (lvGive.SelectedItems.Count > 0)
{ rentLicenseNO = lvGive.SelectedItems[0].Text;
rentvehicles[rentLicenseNO].RentDate = int.Parse(this.txtDays.Text.Trim());
vehicles.Add(rentvehicles[rentLicenseNO].LicenseNO, rentvehicles[rentLicenseNO]);
totalPrice = rentvehicles[rentLicenseNO].CalcPrice();
if (rentvehicles.ContainsKey(rentLicenseNO))
{
rentvehicles.Remove(rentLicenseNO);
} MessageBox.Show(string.Format("共计租赁费用为:{0}", totalPrice.ToString())); btnRefreshGive_Click(sender, e);
}
else
{
MessageBox.Show("请选择一项!");
}
}
else
{
MessageBox.Show("请输入借车天数!");
}
}
如代码红色所示this.txtDays.Text.Trim()文本框中如果不是数字,则会报错,请问怎么处理,当我点击btnMoney_Click按钮时,如果检验到this.txtDays.Text.Trim()非数字给出对话框提示。最好详细点。帮帮小弟吧,谢谢各位了
解决方案 »
- explorer.exe和explorer
- DataList?
- 问个正则的问题
- 隐藏部分窗体,就像PPLive右边频道列表,点下中间线上的小三角形,列表框缩进去了?急,请高手帮忙!!
- 多个用户同时请求一个页面出现的Session串值?
- 大家帮我看看这个简单的问题吧,关于textbox的
- 一个JS的小问题,各位大虾帮忙看一下
- 自定义函数,如何可以取得指定上下限随机数 ?
- 怪了?(我在异步调用本地方法时,delegate不含有EndInvoke和BeginInvoke方法?
- 选中table某一行,默认选中该行的radio问题
- crystal report子报表中怎样添加子报表
- 这个在release版本里不起作用!郁闷
{
alert("是数字")
}
1)在文本框输入时,只允许输入数字,即相应文本框的keypress事件中判断
private void txtDays_KeyPress(object sender, EventArgs e)
{
if(char.IsDigital(e.KeyChar) || e.KeyChar == 8 || e.KeyChar == 8)
{
e.Handled = false;
}
else
{
e.Handled = true;
}
}
2)调用如下方法判断输入的字符是否为数字
public bool IsDigital(string s)
{
foreach(char c in s)
{
if(!char.IsDigital(c))
return false;
}
return true;
}
1正则表达式去验证
2try catch
3用验证控件等等
修改一下
if(!int.TryParse(this.txtDays.Text.Trim(),out j))
rentvehicles[rentLicenseNO].RentDate = j;
else
rentvehicles[rentLicenseNO].RentDate = 0;
或用正则表达式
<asp:regularexpressionvalidator id="RegularExpressionValidator1" runat="server" ValidationExpression="^[0-9]*$"
ControlToValidate="" ErrorMessage="必须输入数字"></asp:regularexpressionvalidator>
{
XXX;
}
if(int.TryParse(this.txtDays.Text.Trim(),out num))
{
rentvehicles[rentLicenseNO].RentDate = num;
}else
{
//转换失败,非数字.此时num为0
}
不用正则,嘻嘻~~