问题描述
例如textbox1,textbox2...textbox30decimala1=convert.todecimal(textbox1.text)decimala2=convert.todecimal(textbox2.text)....decimala30=convert.todecimal(textbox30.text)sum=a1+a2+...+a30问题就来了:如果我只是想计算20或10或其他个数相加,该怎么办呢,怎么跳过强制转换阿我用的是vs2005谢谢
解决方案
解决方案二:
什么意思?没明白啊..你是不是只要数字相加?当textbox输入非数字的时候即不强制转换该.text属性?你可以通过正则来判断textbox.text.trim()是否是数字.然后再强制转换再相加
解决方案三:
那就写N多行代码对字符串进行判断之后处理问的我不太明白
解决方案四:
是没有看明白?给你个正则判断是否为数字的函数吧publicstaticboolIsNumber(StringstrNumber){RegexobjNotNumberPattern=newRegex("[^0-9.-]");RegexobjTwoDotPattern=newRegex("[0-9]*[.][0-9]*[.][0-9]*");RegexobjTwoMinusPattern=newRegex("[0-9]*[-][0-9]*[-][0-9]*");StringstrValidRealPattern="^([-]|[.]|[-.]|[0-9])[0-9]*[.]*[0-9]+$";StringstrValidIntegerPattern="^([-]|[0-9])[0-9]*$";RegexobjNumberPattern=newRegex("("+strValidRealPattern+")|("+strValidIntegerPattern+")");return!objNotNumberPattern.IsMatch(strNumber)&&!objTwoDotPattern.IsMatch(strNumber)&&!objTwoMinusPattern.IsMatch(strNumber)&&objNumberPattern.IsMatch(strNumber);}
解决方案五:
可以考虑用动态获取控件名,在用FOR循环,这样可以少写很多代码,类型转换出现空的话,可以用三则运算判断下。
解决方案六:
如果窗口集合里没有其他作用的TextBox可以使用For循环相加