• <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)下載排行

        主站蜘蛛池模板: 在线A级毛片无码免费真人| 亚洲精品线路一在线观看| 四虎永久在线观看免费网站网址| 啦啦啦完整版免费视频在线观看| 久久受www免费人成_看片中文| 亚洲视频在线观看免费| 亚洲乱色熟女一区二区三区蜜臀| 久久久精品国产亚洲成人满18免费网站 | 国内精自视频品线六区免费 | 麻豆视频免费播放| 亚洲综合区小说区激情区 | 老司机午夜在线视频免费| 99久久免费中文字幕精品| 亚洲不卡AV影片在线播放| 亚洲性一级理论片在线观看| h视频免费高清在线观看| 9久9久女女免费精品视频在线观看 | 中文免费观看视频网站| 国产精品亚洲片夜色在线| 最近更新免费中文字幕大全| 日韩免费一级毛片| 亚洲国产精品yw在线观看| 黄网站免费在线观看| 亚洲无码黄色网址| 精品国产呦系列在线观看免费 | 无码视频免费一区二三区| 久久久亚洲欧洲日产国码二区| 日韩毛片在线免费观看| 18禁成人网站免费观看| 中文字幕无码精品亚洲资源网久久 | 亚洲精品午夜视频| 中文字幕在线观看免费视频 | 亚洲av高清在线观看一区二区| 亚洲精品国产高清在线观看| 野花高清在线观看免费3中文 | 图图资源网亚洲综合网站| 亚洲高清免费视频| 亚洲欧洲免费视频| 日本免费无遮挡吸乳视频电影| 久久国产精品免费| 久久亚洲精品国产精品婷婷|