ASP.NET 實現人民幣大寫轉換函式

暖楓無敵發表於2016-06-27

轉換函式如下程式碼所示:

        public static string GetBig(string num)
        {
            string result=null;
            string chNum = "零壹貳叄肆伍陸柒捌玖";//定義好大寫的數字
            string zheng = "元拾佰仟萬拾佰仟億拾佰仟萬";//定義好數位,從小到大排
            string xiaoshu = "角分";//把整數和小數分開處理
            if (num.IndexOf('.') != -1)//檢測使用者輸入中是否包含小數點
            {
                string[] temp = num.Split('.');//把使用者輸入的字元
                int index = temp[0].Length-1;
                for (int i = 0; i < temp[0].Length; i++)
                {
                    result += chNum[Convert.ToInt32(temp[0][i].ToString())];
                    result += zheng[index];
                    index--;
                }
                if (temp[1].Length>0)
                {
                    for (int i = 0; i < temp[1].Length; i++)
                    {
                        result += chNum[Convert.ToInt32(temp[1][i].ToString())];
                        result += xiaoshu[i];
                    }
                }
            }
            else
            {
                int index = num.Length-1;
                for (int i = 0; i < num.Length; i++)
                {
                    result += chNum[Convert.ToInt32(num[i].ToString())];
                    result += zheng[index];
                    index--;
                }
            }
            return result;
        }

呼叫: GetBig("526487.25");

相關文章