【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;
}
}
}