描述:将输入的数字的人民币金额大写

来源:互联网 发布:淘宝网冬装女装套装裙 编辑:程序博客网 时间:2024/05/17 22:14
/// <summary>        /// 描述:将输入的数字的人民币金额大写        /// </summary>        /// <param name="amount">string 数字金额的字符串</param>        /// <returns>string 返回大写后的金额</returns>        public static string ConvertToUpperMoney(string amount)        {            string SM = "零壹贰叁肆伍陆柒捌玖";//要用到的数字            string DW = "分角元拾佰仟万拾佰仟亿拾佰仟万";//要用到的单位            string DXJE;//要返回的大写金额            if (9999999999999.99 < Double.Parse(amount))            {                DXJE = "数字超出人民币的范围";            }            //>>如果输入的数字符合条件            else            {                if (-1 == amount.IndexOf("."))                {                    amount = amount + "00";                }                //>>如果输入的数字中含有小数点                else                {                    string XSBF = amount.Split(new char[] { '.' }, 2)[1];//小数部分                    if (0 == XSBF.Length)//如果没有小数位,补齐两位小数                    {                        amount = amount + "00";                    }                    else if (1 == XSBF.Length)//如果小数位只一位                    {                        amount = amount + "0";                    }                    //>>如果小数位大于3位,四舍五入                    else if (XSBF.Length > 2)                    {                        double dje = Double.Parse(amount);                        //>>如果小数部分的第三位大于5                        if (Int32.Parse(XSBF.Substring(2, 1)) >= 5)                        {                            dje = dje + 0.01;                            amount = dje.ToString();                        }                        //>>如果小数部分的第三位大于5                        amount = amount.Substring(0, amount.Length - (XSBF.Length - 2));//将原数舍掉后面的部分只保留两位小数                    }                    //>>如果小数位大于3位,四舍五入                }                //>>如果输入的数字中含有小数点                amount = amount.Replace(".", "");//去掉小数点                DXJE = "整";                int dw;//单位的索引                int shu;//数的索引                //>>开始从金额的最后一位开始大写                for (shu = amount.Length - 1, dw = 0; shu >= 0; shu--, dw++)                {                    int w = Int32.Parse(amount.Substring(shu, 1));//输入数字的第shu位                    DXJE = DW.Substring(dw, 1) + DXJE;                    DXJE = SM.Substring(w, 1) + DXJE;                }                //>>开始从金额的最后一位开始大写            }            //>>如果输入的数字符合条件            if (DXJE.Substring(0, 1) == "元")            {                DXJE = DXJE.Substring(1, DXJE.Length - 1);            }            return DXJE;        }


 

0 0
原创粉丝点击