C#阿拉伯数字转成中文(示例代码)

简介  这篇文章主要介绍了c# 阿拉伯数字转成中文(示例代码)以及相关的经验技巧,文章约18490字,浏览量419,点赞数2,值得参考!

调用方法:
public string ConvertToChineseNumber(string old)
        {
            Chinese ch = new Chinese();            long num = Convert.ToInt64(old);            string re = ch.returnResult(num);            if (re.StartsWith("壹拾"))
            {
                re = re.Substring(1, re.Length - 1);
            }            return (re);
        }
完整代码:.
using System;
using System.Collections.Generic;
using System.Text;
namespace Public
{    class Chinese
    {        public string returnResult(long num)
        {            string numStr = num.ToString();            if (numStr.Length > 8 & numStr.Length < 16)
            {                string[] firstSplit = new string[2];
                firstSplit[0] = numStr.Substring(0, numStr.Length - 8);
                firstSplit[1] = numStr.Substring(numStr.Length - 8, 8);                string result1 = getString(firstSplit[0]) + "億";                string result2 = getString(firstSplit[1]);                return result1 + result2;
            }            else
            {                return getString(numStr);
            }
        }        public string getString(string str)
        {            if (str.Length > 4)
            {                string[] secondSplit = new string[2];
                secondSplit[0] = str.Substring(0, str.Length - 4);
                secondSplit[1] = str.Substring(str.Length - 4, 4);                string result1 = getRe(secondSplit[0]);                string result2 = getRe(secondSplit[1]);                if (!secondSplit[0].Equals("0000"))
                {
                    result1 += "萬";
                }                return result1 + result2;
            }            else
            {                return getRe(str);

            }
        }        int[] value = { 1000, 100, 10 };        public string getRe(string doWith)
        {            char[] number = doWith.ToCharArray();            int length = number.Length;            string re = "";            for (int i = 0; i < length; i++)
            {                switch (number[i])
                {                    case \'0\':                        if (re.EndsWith("零"))
                        {
                            re += "";
                        }                        else
                        {
                            re += "零";
                        }                        break;                    case \'1\':
                        re += "壹";                        break;                    case \'2\':
                        re += "贰";                        break;                    case \'3\':
                        re += "叁";                        break;                    case \'4\':
                        re += "肆";                        break;                    case \'5\':
                        re += "伍";                        break;                    case \'6\':
                        re += "陆";                        break;                    case \'7\':
                        re += "柒";                        break;                    case \'8\':
                        re += "捌";                        break;                    case \'9\':
                        re += "玖";                        break;
                }                int index = (int)Math.Pow(10, length - i - 1);                if (number[i].ToString() == "0")
                {
                    index = -1;
                }                switch (index)
                {                    case 1000:
                        re += "仟";                        break;                    case 100:
                        re += "佰";                        break;                    case 10:
                        re += "拾";                        break;
                }
            }            if (re.EndsWith("零"))
            {
                re = re.Substring(0, re.Length - 1);
            }            return re;

        }
    }
}