问题描述
就是想提示用户你输入的数不是数字,请重新输入if(i不是浮点数){Page.RegisterStartupScript("alert","<script>alert('你输入的数不是数字,请重新输入');</script>");}就是这个i不是浮点数这个条件怎么写??大家帮忙啦,新人求救,谢谢。
解决方案
解决方案二:
floati=float.Parse(TextBox1.Text);if(i不是浮点数){Page.RegisterStartupScript("alert","<script>alert('你输入的数不是数字,请重新输入');</script>");}
解决方案三:
try{}catch{}或者正则^(+-)?d+(.d+)?$
解决方案四:
boolresult;result=float.Parse(TextBox1.Text,outresult);if(!result){Page.RegisterStartupScript("alert","<script>alert('你输入的数不是数字,请重新输入');</script>");}
解决方案五:
try{inti=int.Parse(TextBox.text)}catch{Page.RegisterStartupScript("alert","<script>alert('你输入的数不是数字,请重新输入');</script>");}
解决方案六:
错了,应该是TryParse()boolresult;result=float.TryParse(TextBox1.Text,outresult);if(!result){Page.RegisterStartupScript("alert","<script>alert('你输入的数不是数字,请重新输入');</script>");}
解决方案七:
楼上的这位兄弟,我用的是VS2003,照你这种写法,提示float并不包含TryParse的定义?这是怎么回事呢?
解决方案八:
注意:此方法在.NETFramework2.0版中是新增的。1。最简单的是try..catch2。判断,一般是用正则表达式
解决方案九:
谢谢,我先用正则表达式试试先
解决方案十:
哦,我的正则有问题应该是^[+-]?d+(.d+)?$
解决方案十一:
可以在文本框的KeyPress事件中添加代码进行判断:privatevoidtxtpnum_KeyPress(objectsender,KeyPressEventArgse){if((e.KeyChar!=8&&!char.IsDigit(e.KeyChar))&&e.KeyChar!=13){MessageBox.Show("请输入数字");e.Handled=true;}}
解决方案十二:
问题解决,我是这样做的,就是用正则表达式去验证,将要验证的值传入CheckIsNumber这个方法就好了!publicboolCheckIsNumber(stringsSrc){Regexregex=newRegex("^\d+(\.\d+)?$");if(regex.IsMatch(sSrc)){returntrue;}else{returnfalse;}}
解决方案十三:
Type.Parse(stringstrValue,outdoubledOutValue);
解决方案十四:
引用12楼shilei831115的回复:
Type.Parse(stringstrValue,outdoubledOutValue);
double.TypeParse(stringstrValue,outdoubledOutValue);呵呵
解决方案十五:
protectedboolCheck(){Regexr=newRegex(GetRegexString());if(!r.Match(this.Text).Success){returntrue;}returnfalse;}privateconststringREGEX_STRING=@"^-?([1-9]{0,F}|[1-9]{0,F}.|[1-9]{0,F}.[0-9]{0,B}|[1-9]d{0,F}|[1-9]d{0,F}.|[1-9]d{0,F}.[0-9]{0,B}|0|0.|0.[0-9]{0,B})$";protectedoverridestringGetRegexString(){returnREGEX_STRING.Replace("F",(this._forwardDotLength-1).ToString()).Replace("B",this._behindDotLength.ToString());}
解决方案:
privateboolIsNumeric(stringnumber){//TODO:判断是否是数字try{number=number.Replace(".","");//去掉小数点for(inti=0;i<number.Length;i++)//判断是否为纯数字{if(!char.IsNumber(number,i)){returnfalse;}}returntrue;}catch{returnfalse;}}