中文数字转换为阿拉伯数字

最近在做一个项目,需要把中文的数字转换为阿拉伯数字,再网上查找了一下,只有阿拉伯数字转换为中文数字,没有我需要的,因此自己写了一个,放到这里记录一下, 并且请大家帮忙测试下. 

 

 /// <summary>
        /// 中文数字转换为阿拉伯数字
        /// </summary>
        /// <param name="value"></param>
        /// <returns></returns>
        public static int Chinese2Number(string value)
        {
            string[] unit = new string[] { "", "", "", "" };
            Dictionary<string, string> m_Dict = new Dictionary<string, string>();
            m_Dict.Add("", "0");
            m_Dict.Add("", "1");
            m_Dict.Add("", "2");
            m_Dict.Add("", "3");
            m_Dict.Add("", "4");
            m_Dict.Add("", "5");
            m_Dict.Add("", "6");
            m_Dict.Add("", "7");
            m_Dict.Add("", "8");
            m_Dict.Add("", "9");
            int resut = 0;
            string resulttemp = "";
            foreach (var item in value)
            {
               string temp = item.ToString();
                if (m_Dict.ContainsKey(temp))
                {
                    resulttemp += m_Dict[temp];
                }
                else
                {
                    if (resulttemp == "") resulttemp = "0";
                    switch (temp)
                    {
                        case "":
                           
                            resut = resut + Convert.ToInt32(resulttemp) * 10;
                            break;
                        case "":
                            resut = resut + Convert.ToInt32(resulttemp) * 100;
                            break;
                        case "":
                            resut = resut + Convert.ToInt32(resulttemp) * 1000;
                            break;
                        case "":                            
                            resut = resut * 10000 + Convert.ToInt32(resulttemp) * 10000;
                            break;
                        default:
                            break;
                    }
                    resulttemp = "";
                }
            }
            if (resulttemp != "")
                resut = resut + Convert.ToInt32(resulttemp);
            return resut;
        }
    }

请大家多提提意见。 

posted on 2012-12-07 21:00  水影倒影  阅读(428)  评论(0编辑  收藏  举报

导航