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