zoukankan      html  css  js  c++  java
  • 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; 

        } 

      

      

    }

  • 相关阅读:
    基于GIS的生态环境信息一张图系统应用与研究
    基于GIS的开源社区(村)网格化数据管理平台
    智慧乡村综合解决方案数字化智能农业
    开源免费乡村振兴数字乡村平台
    Oracle连接字符串记录
    SqlLocalDB使用笔记
    Orchard分类Taxonomies图文教程
    自己手动maven命令将jar包安装到本地。
    Mysql如何去掉数据库中重复记录?
    常见的数据库方面问题
  • 原文地址:https://www.cnblogs.com/zhangzhifeng/p/3096727.html
Copyright © 2011-2022 走看看