当前位置:编程学习 > C#/ASP.NET >>

asp.net (C#)强制转换的问题

例如 textbox1,textbox2...textbox30 
decimal 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)
    {
        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);
    }
--------------------编程问答-------------------- 可以考虑用动态获取控件名,在用FOR循环,这样可以少写很多代码,类型转换出现空的话,可以用三则运算判断下。 --------------------编程问答-------------------- 如果窗口集合里没有其他作用的TextBox可以使用For循环相加
补充:.NET技术 ,  C#
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,