基本信息
源码名称:c# 人民币转大写 示例源码
源码大小:0.06M
文件格式:.rar
开发语言:C#
更新时间:2018-02-25
   友情提示:(无需注册或充值,赞助后即可获取资源下载链接)

     嘿,亲!知识可是无价之宝呢,但咱这精心整理的资料也耗费了不少心血呀。小小地破费一下,绝对物超所值哦!如有下载和支付问题,请联系我们QQ(微信同号):78630559

本次赞助数额为: 2 元 
   源码介绍

人民币转大写


public static String ConvertToChinese(double number)//Decimal
        {
            var r = "";
            var s = number.ToString("#L#E#D#C#K#E#D#C#J#E#D#C#I#E#D#C#H#E#D#C#G#E#D#C#F#E#D#C#.0B0A");
            var d = Regex.Replace(s, @"((?<=-|^)[^1-9]*)|((?'z'0)[0A-E]*((?=[1-9])|(?'-z'(?=[F-L\.]|$))))|((?'b'[F-L])(?'z'0)[0A-L]*((?=[1-9])|(?'-z'(?=[\.]|$))))", "${b}${z}");
            r = Regex.Replace(d, ".", m => "负元空零壹贰叁肆伍陆柒捌玖空空空空空空空分角拾佰仟万亿兆京垓秭穰"[m.Value[0] - '-'].ToString());
            if (Regex.IsMatch(number.ToString(), "^([0-9]{1,})$"))
            {
                return r   "整";
            }
            else return r;
        }

        //public static string MoneyToCap(string money)
        //{
        //    if (string.IsNullOrEmpty(money))
        //    {
        //        return "";
        //    }
        //    string s = double.Parse(money).ToString("#L#E#D#C#K#E#D#C#J#E#D#C#I#E#D#C#H#E#D#C#G#E#D#C#F#E#D#C#.0B0A");
        //    string d = Regex.Replace(s, @"((?<=-|^)[^1-9]*)|((?'z'0)[0A-E]*((?=[1-9])|(?'-z'(?=[F-L.]|$))))|((?'b'[F-L])(?'z'0)[0A-L]*((?=[1-9])|(?'-z'(?=[.]|$))))", "${b}${z}");
        //    return Regex.Replace(d, ".", delegate(Match m) { return "负圆空零壹贰叁肆伍陆柒捌玖空空空空空空空分角拾佰仟万億兆京垓秭穰"[m.Value[0] - '-'].ToString(); });
        //} 
        //public string NumGetStr(double Num)
        //{
        //    string[] DX_SZ = { "零", "壹", "贰", "叁", "肆", "伍", "陆", "柒", "捌", "玖", "拾" };//大写数字  
        //    string[] DX_DW = { "元", "拾", "佰", "仟", "万", "拾", "佰", "仟", "亿", "拾", "佰", "仟", "万" };
        //    string[] DX_XSDS = { "角", "分" };//大些小数单位  
        //    if (Num == 0) return DX_SZ[0];

        //    Boolean IsXS_bool = false;//是否小数  

        //    string NumStr;//整个数字字符串  
        //    string NumStr_Zs;//整数部分  
        //    string NumSr_Xs = "";//小数部分  
        //    string NumStr_R = "";//返回的字符串  


        //    NumStr = Num.ToString();
        //    NumStr_Zs = NumStr;
        //    if (NumStr_Zs.Contains("."))
        //    {
        //        NumStr = Math.Round(Num, 2).ToString();
        //        NumStr_Zs = NumStr.Substring(0, NumStr.IndexOf("."));
        //        NumSr_Xs = NumStr.Substring((NumStr.IndexOf(".")   1), (NumStr.Length - NumStr.IndexOf(".") - 1));
        //        IsXS_bool = true;
        //    }

        //    int k = 0;
        //    Boolean IsZeor = false;//整数中间连续0的情况  
        //    for (int i = 0; i < NumStr_Zs.Length; i  ) //整数  
        //    {
        //        int j = int.Parse(NumStr_Zs.Substring(i, 1));
        //        if (j != 0)
        //        {
        //            NumStr_R  = DX_SZ[j]   DX_DW[NumStr_Zs.Length - i - 1];
        //            IsZeor = false; //没有连续0  
        //        }
        //        else if (j == 0)
        //        {
        //            k  ;
        //            if (!IsZeor && !(NumStr_Zs.Length == i   1)) //等于0不是最后一位,连续0取一次  
        //            {
        //                //有问题  
        //                if (NumStr_Zs.Length - i - 1 >= 4 && NumStr_Zs.Length - i - 1 <= 6)
        //                    NumStr_R  = DX_DW[4]   "零";
        //                else
        //                    if (NumStr_Zs.Length - i - 1 > 7)
        //                        NumStr_R  = DX_DW[8]   "零";
        //                    else
        //                        NumStr_R  = "零";

        //                IsZeor = true;
        //            }

        //            if (NumStr_Zs.Length == i   1)//  等于0且是最后一位 变成 XX元整  
        //                NumStr_R  = DX_DW[NumStr_Zs.Length - i - 1];
        //        }

        //    }
        //    if (NumStr_Zs.Length > 2 && k == NumStr_Zs.Length - 1)
        //        NumStr_R = NumStr_R.Remove(NumStr_R.IndexOf('零'), 1); //比如1000,10000元整的情况下 去0  

        //    if (!IsXS_bool) return NumStr_R   "整"; //如果没有小数就返回  
        //    else
        //    {
        //        for (int i = 0; i < NumSr_Xs.Length; i  )
        //        {
        //            int j = int.Parse(NumSr_Xs.Substring(i, 1));
        //            NumStr_R  = DX_SZ[j]   DX_XSDS[i]; //NumSr_Xs.Length - i - 1
        //        }
        //    }

        //    return NumStr_R;
        //}

        private void button1_Click(object sender, EventArgs e)
        {
            //将金额小写转换为金额大写
            if (this.textBox1.Text.Length < 1)
            {
                MessageBox.Show(this, "请输入金额小写数字!", "信息提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
                return;
            }
            if (this.textBox1.Text.Length > 17)
            {
                MessageBox.Show(this, "金额太大!", "信息提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
                return;
            }
            double Number = Convert.ToDouble(this.textBox1.Text);
          
            //this.textBox2.Text = MyClass.GetChinese(Number, true);
            //this.textBox2.Text = NumGetStr(Number);
            this.textBox2.Text = ConvertToChinese(Number);
        }