• C# 将中文数字转换成阿拉伯数字 (转)



    2011-08-30 18:28 85人阅读 评论(0) 收藏 举报
    string测试c
    代码从csdn复制,未做测试

    view sourceprint?
    public static class ChineseNumberUtil 

      

        /// <summary> 

        /// 将中文数字转换成阿拉伯数字 

        /// </summary> 

        /// <param name="cnNumber"></param> 

        /// <returns></returns> 

        static int ConverToDigit(string cnNumber) 

        { 

            int result = 0; 

            int temp = 0; 

            foreach (char c in cnNumber) 

            { 

                int temp1 = ToDigit(c); 

                if (temp1 == 10000) 

                { 

                    result += temp; 

                    result *= 10000; 

                    temp = 0; 

                } 

                else if (temp1 > 9) 

                { 

                    if (temp1 == 10 && temp == 0) temp = 1; 

                    result += temp * temp1; 

                    temp = 0; 

                } 

                else temp = temp1; 

            } 

            result += temp; 

            return result; 

        } 

      

        /// <summary> 

        /// 将中文数字转换成阿拉伯数字 

        /// </summary> 

        /// <param name="cn"></param> 

        /// <returns></returns> 

        static int ToDigit(char cn) 

        { 

            int number = 0; 

            switch (cn) 

            { 

                case '壹': 

                case '一': 

                    number = 1; 

                    break; 

                case '两': 

                case '贰': 

                case '二': 

                    number = 2; 

                    break; 

                case '叁': 

                case '三': 

                    number = 3; 

                    break; 

                case '肆': 

                case '四': 

                    number = 4; 

                    break; 

                case '伍': 

                case '五': 

                    number = 5; 

                    break; 

                case '陆': 

                case '六': 

                    number = 6; 

                    break; 

                case '柒': 

                case '七': 

                    number = 7; 

                    break; 

                case '捌': 

                case '八': 

                    number = 8; 

                    break; 

                case '玖': 

                case '九': 

                    number = 9; 

                    break; 

                case '拾': 

                case '十': 

                    number = 10; 

                    break; 

                case '佰': 

                case '百': 

                    number = 100; 

                    break; 

                case '仟': 

                case '千': 

                    number = 1000; 

                    break; 

                case '萬': 

                case '万': 

                    number = 10000; 

                    break; 

                case '零': 

                default: 

                    number = 0; 

                    break; 

            } 

            return number; 

        } 

      

        /// <summary> 

        /// 将中文数字转换成阿拉伯数字 

        /// </summary> 

        /// <param name="cnDigit"></param> 

        /// <returns></returns> 

        static long ToLong(string cnDigit) 

        { 

            long result = 0; 

            string[] str = cnDigit.Split('亿'); 

            result = ConverToDigit(str[0]); 

            if (str.Length > 1) 

            { 

                result *= 100000000; 

                result += ConverToDigit(str[1]); 

            } 

            return result; 

        } 

      

      

    }

  • 相关阅读:
    python制作一个塔防射箭游戏
    有两个链表a和b,设结点中包含学号、姓名。从a链表中删去与b链表中有相同 学号的那些结点。
    python实现一个简单的21点游戏
    C语音,函数padd的功能是调整pa指向的链表中结点的位置,使得所有x值为偶数的结点出现在链表的前半部,所有x值为奇数的结点出现在链表的后半部。
    scratch绘制特殊图形1
    验证哥德巴赫猜想,输出6-100之间的偶数等于两个质数之和
    写一函数check检测字符串中的左右括号数是否匹配
    C语言文件操作题,将整数1-10及其算术平方根存入文件,再读取出来显示在屏幕上
    湖南2020对口计算机32题第1、2、3小题
    基础
  • 原文地址:https://www.cnblogs.com/zhangzhifeng/p/3096727.html
Copyright © 2020-2023  润新知