首页 > 开发 > 综合 > 正文

【C#】Decimal的类型判断!

2024-07-21 02:18:47
字体:
来源:转载
供稿:网友
  • 本文来源于网页设计爱好者web开发社区http://www.html.org.cn收集整理,欢迎访问。
  • 本人在写这些类方法或函数的时候,难免有些错误或bug存在,请各位网友多多指教![email protected]。

    using system;
    using system.drawing;
    using system.collections;
    using system.componentmodel;
    using system.windows.forms;
    using system.data;

    namespace winmarket
    {
    /// <summary>
    /// classfun 的摘要说明。
    /// </summary>
    public class classfun
    {
    private bool isbool;

    public classfun()
    {
    //
    // todo: 在此处添加构造函数逻辑
    //
    }
    //--------------判断是否是decimal类型------------

    public bool isdecimal(string tbstr0)
    {
    string intstr0="1234567890";
    string intsign0,strint,strdecimal;
    int intindex0,intsubstr,indexint;
    int decimalbool=0;
    int db=0;
    bool bf,bl;
    if(tbstr0.length>2)
    {
    intindex0=tbstr0.indexof(".");
    if(intindex0!=-1)
    {
    string strarr=".";
    char[] chararr=strarr.tochararray();
    string[] numarr=tbstr0.split(chararr);
    indexint=numarr.getupperbound(0);
    if(indexint>1)
    {
    decimalbool=1;
    }
    else
    {
    strint=numarr[0].tostring();
    strdecimal=numarr[1].tostring();
    //--- 整数部分-----
    if(strint.length>0)
    {
    if(strint.length==1)
    {
    intsubstr=intstr0.indexof(strint);
    if(intsubstr!=-1)
    {
    bf=true;
    }
    else
    {
    bf=false;
    }
    }
    else
    {
    for(int i=0;i<=strint.length-1;i++)
    {
    intsign0=strint.substring(i,1).tostring();
    intsubstr=intstr0.indexof(intsign0);
    if(intsubstr!=-1)
    {
    db=db+0;
    }
    else
    {
    db=i+1;
    break;
    }
    }

    if(db==0)
    {
    bf=true;
    }
    else
    {
    bf=false;
    }
    }
    }
    else
    {
    bf=true;
    }
    //----小数部分----
    if(strdecimal.length>0)
    {
    for(int j=0;j<=strdecimal.length-1;j++)
    {
    intsign0=strdecimal.substring(j,1).tostring();
    intsubstr=intstr0.indexof(intsign0);
    if(intsubstr!=-1)
    {
    db=db+0;
    }
    else
    {
    db=j+1;
    break;
    }
    }
    if(db==0)
    {
    bl=true;
    }
    else
    {
    bl=false;
    }
    }
    else
    {
    bl=false;
    }
    if((bf&&bl)==true)
    {
    decimalbool=0;
    }
    else
    {
    decimalbool=1;
    }

    }

    }
    else
    {
    decimalbool=1;
    }

    }
    else
    {
    decimalbool=1;
    }

    if(decimalbool==0)
    {
    isbool=true;
    }
    else
    {
    isbool=false;
    }

    return isbool;
    }

    }
    }


    发表评论 共有条评论
    用户名: 密码:
    验证码: 匿名发表