• <label id="pxtpz"><meter id="pxtpz"></meter></label>
      1. <span id="pxtpz"><optgroup id="pxtpz"></optgroup></span>

        當前位置:雨林木風下載站 > 技術開發(fā)教程 > 詳細頁面

        C#完成的【阿拉伯數(shù)字轉(zhuǎn)換成中文大寫金額】代碼

        C#完成的【阿拉伯數(shù)字轉(zhuǎn)換成中文大寫金額】代碼

        更新時間:2019-06-29 文章作者:未知 信息來源:網(wǎng)絡 閱讀次數(shù):

        以下C#代碼實現(xiàn)了將阿拉伯數(shù)字轉(zhuǎn)換成中文大寫金額的功能,并Visual Studio.NET 2003 下調(diào)試基本通過(未經(jīng)嚴格測試,希望各位發(fā)現(xiàn)錯誤后與作者聯(lián)系fanz2000@sohu.com,或直接在csdn上回帖告知)。

        代碼的主調(diào)函數(shù)為ConvertSum,它的參數(shù)是string類型的數(shù)字字符串。在ASP.NET中調(diào)用方式如下:
        Label1.Text=ConvertSum("數(shù)字字符串");

        其代碼如下:



        //作者:fanz2000
        //Email:fanz2000@sohu.com
        ///
        /// 轉(zhuǎn)換數(shù)字金額主函數(shù)(包括小數(shù))
        ///
        /// 數(shù)字字符串
        /// 轉(zhuǎn)換成中文大寫后的字符串或者出錯信息提示字符串
        public string ConvertSum(string str)
        {
        if(!IsPositveDecimal(str))
        return "輸入的不是正數(shù)字!";
        if(Double.Parse(str)>999999999999.99)
        return "數(shù)字太大,無法換算,請輸入一萬億元以下的金額";
        char[] ch=new char[1];
        ch[0]='.'; //小數(shù)點
        string[] splitstr=null; //定義按小數(shù)點分割后的字符串數(shù)組
        splitstr=str.Split(ch[0]);//按小數(shù)點分割字符串
        if(splitstr.Length==1) //只有整數(shù)部分
        return ConvertData(str)+"圓整";
        else //有小數(shù)部分
        {
        string rstr;
        rstr=ConvertData(splitstr[0])+"圓";//轉(zhuǎn)換整數(shù)部分
        rstr+=ConvertXiaoShu(splitstr[1]);//轉(zhuǎn)換小數(shù)部分
        return rstr;
        }

        }
        ///
        /// 判斷是否是正數(shù)字字符串
        ///
        /// 判斷字符串
        /// 如果是數(shù)字,返回true,否則返回false
        public bool IsPositveDecimal(string str)
        {
        Decimal d;
        try
        {
        d=Decimal.Parse(str);

        }
        catch(Exception)
        {
        return false;
        }
        if(d>0)
        return true;
        else
        return false;
        }
        ///
        /// 轉(zhuǎn)換數(shù)字(整數(shù))
        ///
        /// 需要轉(zhuǎn)換的整數(shù)數(shù)字字符串
        /// 轉(zhuǎn)換成中文大寫后的字符串
        public string ConvertData(string str)
        {
        string tmpstr="";
        string rstr="";
        int strlen=str.Length;
        if (strlen<=4)//數(shù)字長度小于四位
        {
        rstr= ConvertDigit(str);

        }
        else
        {

        if (strlen<=8)//數(shù)字長度大于四位,小于八位
        {
        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);
        rstr=rstr.Replace("零萬","萬");
        rstr=rstr.Replace("零零","零");

        }
        else
        if(strlen<=12)//數(shù)字長度大于八位,小于十二位
        {
        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);
        rstr=rstr.Replace("零億","億");
        rstr=rstr.Replace("零萬","零");
        rstr=rstr.Replace("零零","零");
        rstr=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;

        }
        }

        return rstr;
        }
        ///
        /// 轉(zhuǎn)換數(shù)字(小數(shù)部分)
        ///
        /// 需要轉(zhuǎn)換的小數(shù)部分數(shù)字字符串
        /// 轉(zhuǎn)換成中文大寫后的字符串
        public string ConvertXiaoShu(string str)
        {
        int strlen=str.Length ;
        string rstr;
        if(strlen==1)
        {
        rstr=ConvertChinese(str)+"角";
        return rstr;
        }
        else
        {
        string tmpstr=str.Substring(0,1);
        rstr=ConvertChinese(tmpstr)+"角";
        tmpstr=str.Substring(1,1);
        rstr+=ConvertChinese(tmpstr)+"分";
        rstr=rstr.Replace("零分","");
        rstr=rstr.Replace("零角","");
        return rstr;
        }


        }

        ///
        /// 轉(zhuǎn)換數(shù)字
        ///
        /// 轉(zhuǎn)換的字符串(四位以內(nèi))
        ///
        public string ConvertDigit(string str)
        {
        int strlen=str.Length;
        string rstr="";
        switch (strlen)
        {
        case 1: rstr=ConvertChinese(str);break;
        case 2: rstr=Convert2Digit(str);break;
        case 3: rstr=Convert3Digit(str);break;
        case 4: rstr=Convert4Digit(str);break;
        }
        rstr=rstr.Replace("拾零","拾");
        strlen=rstr.Length;

        return rstr;
        }


        ///
        /// 轉(zhuǎn)換四位數(shù)字
        ///
        public string Convert4Digit(string str)
        {
        string str1=str.Substring(0,1);
        string str2=str.Substring(1,1);
        string str3=str.Substring(2,1);
        string str4=str.Substring(3,1);
        string rstring="";
        rstring+=ConvertChinese(str1)+"仟";
        rstring+=ConvertChinese(str2)+"佰";
        rstring+=ConvertChinese(str3)+"拾";
        rstring+=ConvertChinese(str4);
        rstring=rstring.Replace("零仟","零");
        rstring=rstring.Replace("零佰","零");
        rstring=rstring.Replace("零拾","零");
        rstring=rstring.Replace("零零","零");
        rstring=rstring.Replace("零零","零");
        rstring=rstring.Replace("零零","零");
        return rstring;
        }
        ///
        /// 轉(zhuǎn)換三位數(shù)字
        ///
        public string Convert3Digit(string str)
        {
        string str1=str.Substring(0,1);
        string str2=str.Substring(1,1);
        string str3=str.Substring(2,1);
        string rstring="";
        rstring+=ConvertChinese(str1)+"佰";
        rstring+=ConvertChinese(str2)+"拾";
        rstring+=ConvertChinese(str3);
        rstring=rstring.Replace("零佰","零");
        rstring=rstring.Replace("零拾","零");
        rstring=rstring.Replace("零零","零");
        rstring=rstring.Replace("零零","零");
        return rstring;
        }
        ///
        /// 轉(zhuǎn)換二位數(shù)字
        ///
        public string Convert2Digit(string str)
        {
        string str1=str.Substring(0,1);
        string str2=str.Substring(1,1);
        string rstring="";
        rstring+=ConvertChinese(str1)+"拾";
        rstring+=ConvertChinese(str2);
        rstring=rstring.Replace("零拾","零");
        rstring=rstring.Replace("零零","零");
        return rstring;
        }
        ///
        /// 將一位數(shù)字轉(zhuǎn)換成中文大寫數(shù)字
        ///
        public string ConvertChinese(string str)
        {
        //"零壹貳叁肆伍陸柒捌玖拾佰仟萬億圓整角分"
        string cstr="";
        switch(str)
        {
        case "0": cstr="零";break;
        case "1": cstr="壹";break;
        case "2": cstr="貳";break;
        case "3": cstr="叁";break;
        case "4": cstr="肆";break;
        case "5": cstr="伍";break;
        case "6": cstr="陸";break;
        case "7": cstr="柒";break;
        case "8": cstr="捌";break;
        case "9": cstr="玖";break;
        }
        return(cstr);
        }

        溫馨提示:喜歡本站的話,請收藏一下本站!

        本類教程下載

        系統(tǒng)下載排行

        主站蜘蛛池模板: 亚洲欧洲无码一区二区三区| 麻豆亚洲AV永久无码精品久久| 亚洲伊人久久大香线蕉结合| 1000部夫妻午夜免费 | 久久精品国产精品亚洲人人| 男男gvh肉在线观看免费| 亚洲VA综合VA国产产VA中| 高潮内射免费看片| 国产成人精品久久亚洲高清不卡 | 乱爱性全过程免费视频| 国产福利电影一区二区三区,亚洲国模精品一区 | 国产99精品一区二区三区免费 | 亚洲精品无码久久千人斩| 99在线免费观看| 婷婷久久久亚洲欧洲日产国码AV| 久久国产免费一区| 亚洲一卡2卡4卡5卡6卡残暴在线| 成人影片麻豆国产影片免费观看 | 一区视频免费观看| 久久亚洲AV午夜福利精品一区| 2019中文字幕免费电影在线播放 | 亚洲精华国产精华精华液网站| 四虎永久在线精品视频免费观看| 一个人晚上在线观看的免费视频| 久久精品国产亚洲AV麻豆不卡| 国产成人精品免费视频动漫| 午夜亚洲WWW湿好爽| 在线观看午夜亚洲一区| aⅴ免费在线观看| 精品在线免费视频| 无码乱人伦一区二区亚洲| 国产香蕉九九久久精品免费| 人人爽人人爽人人片av免费| 久久水蜜桃亚洲av无码精品麻豆| 老司机永久免费网站在线观看| 中文字幕在线免费播放| 亚洲国产精品日韩在线| 亚洲国产成人久久精品99| 美丽的姑娘免费观看在线播放 | 国产综合激情在线亚洲第一页| 亚洲国产精品无码专区在线观看|