UDN-企业互联网技术人气社区

板块导航

浏览  : 10627
回复  : 50

汉字转换为阿拉伯数字,一百三十四亿一千零二十三万六千六百零九,求转换

[复制链接]
发表于 2014-7-26 20:58:23 | 显示全部楼层
这个要看对歧义解释要做到什么地步了呀~~
一十二和十二...
        
使用道具 举报

回复

发表于 2014-7-27 00:59:01 | 显示全部楼层
为何要将这汉字转换为阿拉伯数字呢?
具体需求是什么
能不能在生成汉子字时就将阿拉伯数字对应记录下来,需要时取出来即可
        
使用道具 举报

回复

发表于 2014-7-27 01:01:12 | 显示全部楼层
或者规定用汉字书写金额时,汉字后面必须加小括号带上阿拉伯数字


        
使用道具 举报

回复

发表于 2014-7-27 01:29:22 | 显示全部楼层



        
使用道具 举报

回复

发表于 2014-7-27 09:13:14 | 显示全部楼层



        
使用道具 举报

回复

发表于 2014-7-27 11:58:11 | 显示全部楼层
以前收藏的,准确性没有做过大量测试.贴上给楼主参考下!
        ///
        /// 精确到小数点后两位
        ///
        ///
        ///
        public static string GetCHS(string MoneyNum)
        {
            string Num = double.Parse(MoneyNum).ToString("#L#E#D#C#K#E#D#C#J#E#D#C#I#E#D#C#H#E#D#C#G#E#D#C#F#E#D#C#.0B0A");
            string X = Regex.Replace(Num, @"((?
        
使用道具 举报

回复

发表于 2014-7-27 14:08:57 | 显示全部楼层
我是来学习的


        
使用道具 举报

回复

发表于 2014-7-27 14:16:52 | 显示全部楼层
public static long tranToNumber( String str )
        {
                long trNum = 0,
                         car[] = {1,1},        //小,大进位
                         reNum = 0;                //结果数字
                for( int i=str.length()-1; i>=0; i-- )
                {
                        trNum = tranMap.get( str.charAt(i) );
                       
                        if( trNum > 9 )                         //如果>9也就是进位
                        {
                                car[0] = trNum;                        //让小进位=这个进位
                                if( car[0] > car[1] )        //调整进位
                                        {
                                                car[1] = car[0];
                                                car[0] = 1;
                                        }
                        }
                        else
                                {
                                        trNum *= car[0]*car[1];
                                        reNum += trNum;
                                }
                }
               
                return reNum;
        }
        
使用道具 举报

回复

发表于 2014-7-27 14:18:14 | 显示全部楼层
public static HashMap tranMap = new HashMap();
        static{
                                tranMap.put('十',10l);
                                tranMap.put('百', 100l);
                                tranMap.put('千',1000l);
                                tranMap.put('万', 10000l);
                                tranMap.put('亿',100000000l);

                                tranMap.put('一',1l);
                                tranMap.put('二',2l);
                                tranMap.put('三',3l);
                                tranMap.put('四',4l);
                                tranMap.put('五',5l);
                                tranMap.put('六',6l);
                                tranMap.put('七',7l);
                                tranMap.put('八',8l);
                                tranMap.put('九',9l);
                                tranMap.put('零',0l);
                        };
        
使用道具 举报

回复

发表于 2014-7-28 09:13:00 | 显示全部楼层



        
使用道具 举报

回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关于我们
联系我们
  • 电话:010-86393388
  • 邮件:udn@yonyou.com
  • 地址:北京市海淀区北清路68号
移动客户端下载
关注我们
  • 微信公众号:yonyouudn
  • 扫描右侧二维码关注我们
  • 专注企业互联网的技术社区
版权所有:用友网络科技股份有限公司82041 京ICP备05007539号-11 京公网网备安1101080209224 Powered by Discuz!
快速回复 返回列表 返回顶部