淺析C#函數(shù)ConvertSum
作者:佚名
本文介紹代碼的主調(diào)C#函數(shù)ConvertSum,它的參數(shù)是string類型的數(shù)字字符串。以及介紹在ASP.NET中調(diào)用方式。
代碼的主調(diào)C#函數(shù)ConvertSum,它的參數(shù)是string類型的數(shù)字字符串。在ASP.NET中調(diào)用方式如下:
Label1.Text=ConvertSum("數(shù)字字符串");
C#函數(shù)ConvertSum代碼如下:
- publicstringConvertSum(stringstr)
- {
- if(!IsPositveDecimal(str))
- return"輸入的不是正數(shù)字!";
- if(Double.Parse(str)>999999999999.99)
- return"數(shù)字太大,無法換算,請(qǐng)輸入一萬億元以下的金額";
- char[]ch=newchar[1];
- ch[0]='.';//小數(shù)點(diǎn)
- string[]splitstr=null;//定義按小數(shù)點(diǎn)分割后的字符串?dāng)?shù)組
- splitstr=str.Split(ch[0]);//按小數(shù)點(diǎn)分割字符串
- if(splitstr.Length==1)//只有整數(shù)部分
- returnConvertData(str)+"圓整";
- else//有小數(shù)部分
- {
- stringrstr;
- rstr=ConvertData(splitstr[0])+"圓";//轉(zhuǎn)換整數(shù)部分
- rstr+=ConvertXiaoShu(splitstr[1]);//轉(zhuǎn)換小數(shù)部分
- returnrstr;
- }
- }
- ///
- ///判斷是否是正數(shù)字字符串
- ///
- ///判斷字符串
- ///如果是數(shù)字,返回true,否則返回false
- publicboolIsPositveDecimal(stringstr)
- {
- Decimald;
- try
- {
- d=Decimal.Parse(str);
- }
- catch(Exception)
- {
- returnfalse;
- }
- if(d>0)
- returntrue;
- else
- returnfalse;
- }
- ///
- ///轉(zhuǎn)換數(shù)字(整數(shù))
- ///
- ///需要轉(zhuǎn)換的整數(shù)數(shù)字字符串
- ///轉(zhuǎn)換成中文大寫后的字符串
- publicstringConvertData(stringstr)
- {
- stringtmpstr="";
- stringrstr="";
- intstrlen=str.Length;
- if(strlen<=4)//數(shù)字長(zhǎng)度小于四位
- {
- rstr=ConvertDigit(str);
- }
- else
- {
- if(strlen<=8)//數(shù)字長(zhǎng)度大于四位,小于八位
- {
- tmpstr=str.Substring(strlen-4,4);//先截取***四位數(shù)字
- rstr=ConvertDigit(tmpstr);//轉(zhuǎn)換***四位數(shù)字
- tmpstr=str.Substring(0,strlen-4);//截取其余數(shù)字
- //將兩次轉(zhuǎn)換的數(shù)字加上萬后相連接
- rstr=String.Concat(ConvertDigit(tmpstr)+"萬",rstr);
- rstrrstr=rstr.Replace("零零","零");
- }
- else
- if(strlen<=12)//數(shù)字長(zhǎng)度大于八位,小于十二位
- {
- tmpstr=str.Substring(strlen-4,4);//先截取***四位數(shù)字
- rstr=ConvertDigit(tmpstr);//轉(zhuǎn)換***四位數(shù)字
- tmpstr=str.Substring(strlen-8,4);//再截取四位數(shù)字
- rstr=String.Concat(ConvertDigit(tmpstr)+"萬",rstr);
- tmpstr=str.Substring(0,strlen-8);
- rstr=String.Concat(ConvertDigit(tmpstr)+"億",rstr);
- rstrrstr=rstr.Replace("零億","億");
- rstrrstr=rstr.Replace("零萬","零");
- rstrrstr=rstr.Replace("零零","零");
- rstrrstr=rstr.Replace("零零","零");
- }
- }
- strlen=rstr.Length;
- if(strlen>=2)
- {
- switch(rstr.Substring(strlen-2,2))
- {
- case"佰零":rstr=rstr.Substring(0,strlen-2)+"佰";break;
- case"仟零":rstr=rstr.Substring(0,strlen-2)+"仟";break;
- case"萬零":rstr=rstr.Substring(0,strlen-2)+"萬";break;
- case"億零":rstr=rstr.Substring(0,strlen-2)+"億";break;
- }
- }
- returnrstr;
- }
以上介紹C#函數(shù)ConvertSum。
【編輯推薦】
責(zé)任編輯:佚名
來源:
IT168