asp.net (C#)强制转换的问题
例如 textbox1,textbox2...textbox30decimal a1=convert.todecimal(textbox1.text)
decimal a2=convert.todecimal(textbox2.text)
....
decimal a30=convert.todecimal(textbox30.text)
sum=a1+a2+...+a30
问题就来了:如果我只是想计算20或10或其他个数相加,该怎么办呢,怎么跳过强制转换阿
我用的是vs2005
谢谢 --------------------编程问答-------------------- 什么意思?没明白啊..你是不是只要数字相加?当textbox输入非数字的时候即不强制转换该.text属性?
你可以通过正则来判断textbox.text.trim()是否是数字.然后再强制转换再相加 --------------------编程问答-------------------- 那就写N多行代码
对字符串进行判断
之后处理
问的我不太明白 --------------------编程问答-------------------- 是没有看明白?给你个正则判断是否为数字的函数吧
public static bool IsNumber(String strNumber)--------------------编程问答-------------------- 可以考虑用动态获取控件名,在用FOR循环,这样可以少写很多代码,类型转换出现空的话,可以用三则运算判断下。 --------------------编程问答-------------------- 如果窗口集合里没有其他作用的TextBox可以使用For循环相加
{
Regex objNotNumberPattern=new Regex("[^0-9.-]");
Regex objTwoDotPattern=new Regex("[0-9]*[.][0-9]*[.][0-9]*");
Regex objTwoMinusPattern=new Regex("[0-9]*[-][0-9]*[-][0-9]*");
String strValidRealPattern="^([-]|[.]|[-.]|[0-9])[0-9]*[.]*[0-9]+$";
String strValidIntegerPattern="^([-]|[0-9])[0-9]*$";
Regex objNumberPattern =new Regex("(" + strValidRealPattern +")|(" + strValidIntegerPattern + ")");
return !objNotNumberPattern.IsMatch(strNumber) &&
!objTwoDotPattern.IsMatch(strNumber) &&
!objTwoMinusPattern.IsMatch(strNumber) &&
objNumberPattern.IsMatch(strNumber);
}
补充:.NET技术 , C#