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