C#中将小写金额转换为大写金额

ASP.NET的项目中,常常需要把客户端输入的小写金额转换为大写,这里便提供了一个类,来帮助我们完成这些工作。

  public class Money2ChineseHelper

    {

        public static string MoneyToChinese(string strAmount)

        {

            string functionReturnValue = null;

            bool IsNegative = false; // 是否是负数

            if (strAmount.Trim().Substring(0, 1) == "-")

            {

                // 是负数则先转为正数

                strAmount = strAmount.Trim().Remove(0, 1);

                IsNegative = true;

            }

            string strLower = null;

            string strUpart = null;

            string strUpper = null;

            int iTemp = 0;

            // 保留两位小数123.489→123.49  123.4→123.4

            strAmount = Math.Round(double.Parse(strAmount), 2).ToString();

            if (strAmount.IndexOf(".") > 0)

            {

                if (strAmount.IndexOf(".") == strAmount.Length - 2)

                {

                    strAmount = strAmount + "0";

                }

            }

            else

            {

                strAmount = strAmount + ".00";

            }

            strLower = strAmount;

            iTemp = 1;

            strUpper = "";

            while (iTemp <= strLower.Length)

            {

                switch (strLower.Substring(strLower.Length - iTemp, 1))

                {

                    case ".":

                        strUpart = "";

                        break;

                    case "0":

                        strUpart = "";

                        break;

                    case "1":

                        strUpart = "";

                        break;

                    case "2":

                        strUpart = "";

                        break;

                    case "3":

                        strUpart = "";

                        break;

                    case "4":

                        strUpart = "";

                        break;

                    case "5":

                        strUpart = "";

                        break;

                    case "6":

                        strUpart = "";

                        break;

                    case "7":

                        strUpart = "";

                        break;

                    case "8":

                        strUpart = "";

                        break;

                    case "9":

                        strUpart = "";

                        break;

                }

 

                switch (iTemp)

                {

                    case 1:

                        strUpart = strUpart + "";

                        break;

                    case 2:

                        strUpart = strUpart + "";

                        break;

                    case 3:

                        strUpart = strUpart + "";

                        break;

                    case 4:

                        strUpart = strUpart + "";

                        break;

                    case 5:

                        strUpart = strUpart + "";

                        break;

                    case 6:

                        strUpart = strUpart + "";

                        break;

                    case 7:

                        strUpart = strUpart + "";

                        break;

                    case 8:

                        strUpart = strUpart + "";

                        break;

                    case 9:

                        strUpart = strUpart + "";

                        break;

                    case 10:

                        strUpart = strUpart + "";

                        break;

                    case 11:

                        strUpart = strUpart + "";

                        break;

                    case 12:

                        strUpart = strUpart + "亿";

                        break;

                    case 13:

                        strUpart = strUpart + "";

                        break;

                    case 14:

                        strUpart = strUpart + "";

                        break;

                    case 15:

                        strUpart = strUpart + "";

                        break;

                    case 16:

                        strUpart = strUpart + "";

                        break;

                    default:

                        strUpart = strUpart + "";

                        break;

                }

 

                strUpper = strUpart + strUpper;

                iTemp = iTemp + 1;

            }

 

            strUpper = strUpper.Replace("零拾", "");

            strUpper = strUpper.Replace("零佰", "");

            strUpper = strUpper.Replace("零仟", "");

            strUpper = strUpper.Replace("零零零", "");

            strUpper = strUpper.Replace("零零", "");

            strUpper = strUpper.Replace("零角零分", "");

            strUpper = strUpper.Replace("零分", "");

            strUpper = strUpper.Replace("零角", "");

            strUpper = strUpper.Replace("零亿零万零圆", "亿圆");

            strUpper = strUpper.Replace("亿零万零圆", "亿圆");

            strUpper = strUpper.Replace("零亿零万", "亿");

            strUpper = strUpper.Replace("零万零圆", "万圆");

            strUpper = strUpper.Replace("零亿", "亿");

            strUpper = strUpper.Replace("零万", "");

            strUpper = strUpper.Replace("零圆", "");

            strUpper = strUpper.Replace("零零", "");

 

            // 对壹圆以下的金额的处理

            if (strUpper.Substring(0, 1) == "")

            {

                strUpper = strUpper.Substring(1, strUpper.Length - 1);

            }

            if (strUpper.Substring(0, 1) == "")

            {

                strUpper = strUpper.Substring(1, strUpper.Length - 1);

            }

            if (strUpper.Substring(0, 1) == "")

            {

                strUpper = strUpper.Substring(1, strUpper.Length - 1);

            }

            if (strUpper.Substring(0, 1) == "")

            {

                strUpper = strUpper.Substring(1, strUpper.Length - 1);

            }

            if (strUpper.Substring(0, 1) == "")

            {

                strUpper = "零圆整";

            }

            functionReturnValue = strUpper;

 

            if (IsNegative == true)

            {

                return "" + functionReturnValue;

            }

            else

            {

                return functionReturnValue;

            }

        }

 

    }
View Code

猜你喜欢

转载自www.cnblogs.com/zengxh/p/12390488.html