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

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

        C#完成的【阿拉伯數字轉換成中文大寫金額】代碼

        C#完成的【阿拉伯數字轉換成中文大寫金額】代碼

        更新時間:2019-06-29 文章作者:未知 信息來源:網絡 閱讀次數:

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

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

        其代碼如下:



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

        }
        ///
        /// 判斷是否是正數字字符串
        ///
        /// 判斷字符串
        /// 如果是數字,返回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;
        }
        ///
        /// 轉換數字(整數)
        ///
        /// 需要轉換的整數數字字符串
        /// 轉換成中文大寫后的字符串
        public string ConvertData(string str)
        {
        string tmpstr="";
        string rstr="";
        int strlen=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);
        rstr=rstr.Replace("零萬","萬");
        rstr=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);
        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;
        }
        ///
        /// 轉換數字(小數部分)
        ///
        /// 需要轉換的小數部分數字字符串
        /// 轉換成中文大寫后的字符串
        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;
        }


        }

        ///
        /// 轉換數字
        ///
        /// 轉換的字符串(四位以內)
        ///
        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;
        }


        ///
        /// 轉換四位數字
        ///
        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;
        }
        ///
        /// 轉換三位數字
        ///
        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;
        }
        ///
        /// 轉換二位數字
        ///
        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;
        }
        ///
        /// 將一位數字轉換成中文大寫數字
        ///
        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)下載排行

        主站蜘蛛池模板: 91免费国产精品| 免费人成在线观看网站品爱网 | 亚洲专区一路线二| 久久国产免费观看精品| 亚洲人成无码网站| 国产精品美女久久久免费| 国产偷国产偷亚洲高清日韩| 五月天婷婷免费视频| 亚洲最大AV网站在线观看| a毛片免费播放全部完整| 亚洲AV无码成人专区片在线观看| 日本人成在线视频免费播放| 亚洲日韩中文字幕天堂不卡 | 产传媒61国产免费| 国产亚洲人成网站观看| 久久久久久毛片免费播放 | 亚洲AV无码日韩AV无码导航| 欧洲人成在线免费| 亚洲伊人久久大香线蕉啊| 黄瓜视频高清在线看免费下载| 亚洲人成网站在线播放2019| 国产免费观看网站| 国产高清对白在线观看免费91 | 亚洲色精品三区二区一区| 免费国产一级特黄久久| 久久久精品免费国产四虎| va天堂va亚洲va影视中文字幕 | 一区二区三区在线免费观看视频| 亚洲另类激情综合偷自拍图| 亚洲精品免费在线| 黄色一级视频免费观看| 亚洲国产精久久久久久久| 四虎国产精品免费久久| 一区二区三区免费精品视频 | 亚洲av无码国产精品色在线看不卡| 中文字幕版免费电影网站| 亚洲乱码一二三四区国产| 亚洲视频在线免费| 五月婷婷综合免费| 国产裸体美女永久免费无遮挡| 亚洲日韩乱码中文无码蜜桃臀|