问题描述
如何限制textbox只能输入金额?如果输入的是整数就自动补齐,如输入11就自动变成11.00?请高人给我个代码吧
解决方案
解决方案二:
可以使用errorprovider控件对输入的数据进行判定和处理
解决方案三:
监控keypress事件及change事件,在这两个事件中修正金额
解决方案四:
1、添加只能输入金额的正则(([1-9][0-9]{0,7})|0)(.[0-9]{0,2})
2、在失去焦点事件,做补齐
解决方案五:
变成11.00->string.format("{0}.00",text)
解决方案六:
如何验证TextBox输入的货币类型publicboolvalidateMoney1(stringstr){returnRegex.IsMatch(str,"^¥\d+(\.\d+)?$");}publicboolvalidateMoney2(stringstr){returnRegex.IsMatch(str,"^$\d+(\.\d+)?$");}publicboolvalidateMoney3(stringstr){returnRegex.IsMatch(str,"^\d+(\.\d+)?元$");}//codego.net/protectedvoidPage_Load(objectsender,EventArgse){}protectedvoidButton1_Click(objectsender,EventArgse){if(!validateMoney1(txtMoney.Text)&&!validateMoney2(txtMoney.Text)&&!validateMoney3(txtMoney.Text)){ClientScript.RegisterStartupScript(this.GetType(),"","alert('您输入的会员充值不是货币类型');",true);}}
解决方案七:
引用5楼xiao_xiaoliuyou的回复:
如何验证TextBox输入的货币类型publicboolvalidateMoney1(stringstr){returnRegex.IsMatch(str,"^¥\d+(\.\d+)?$");}publicboolvalidateMoney2(stringstr){returnRegex.IsMatch(str,"^$\d+(\.\d+)?$");}publicboolvalidateMoney3(stringstr){returnRegex.IsMatch(str,"^\d+(\.\d+)?元$");}//codego.net/protectedvoidPage_Load(objectsender,EventArgse){}protectedvoidButton1_Click(objectsender,EventArgse){if(!validateMoney1(txtMoney.Text)&&!validateMoney2(txtMoney.Text)&&!validateMoney3(txtMoney.Text)){ClientScript.RegisterStartupScript(this.GetType(),"","alert('您输入的会员充值不是货币类型');",true);}}
ClientScript.RegisterStartupScript(this.GetType(),"","alert('您输入的会员充值不是货币类型');",true);这句是什么意思?我自己改成messagebox.show("您输入的会员充值不是货币类型");后可以运行,但是无论我输什么都说不是货币类型啊
解决方案八:
提供三种方法,不写代码了,楼主可以找下度娘1:用正则表达式2:用typeof3:checked方法,我没试过。
解决方案九:
直接用numericUpDown,支持小数,还能设置上下限
解决方案十:
对正则式不太懂,正则式怎么写?新手,还着急出程序。请大家给我个代码吧
解决方案十一:
金额不都是数字嘛自动补齐那个转换成保留两位小数的decimald=23.3m;MessageBox.Show(Math.Round(d,2).ToString("0.00"));