首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > ASP >

高手请问!阿拉伯数字自动转换成中文大写的有关问题?

2012-05-29 
高手请教!阿拉伯数字自动转换成中文大写的问题?急!高手请教,想输入阿拉伯数字后,自动生成中文大写,因为是

高手请教!阿拉伯数字自动转换成中文大写的问题?急!
高手请教,想输入阿拉伯数字后,自动生成中文大写,因为是新手,学习中,不知道怎么实现,能给个代码嘛,可以好好学习!!!自己的要求不是很高,可以不用数据库,就是在静态页面的输入框中输入阿拉伯数字的金额,然后再它的后面显示出大写金额,这样实现就可以可以了,就谢谢!

[解决办法]
稍微写了下,估计有测试不到的地方。如有错误请见谅。

HTML code
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><title></title><script type="text/javascript">        function Arabic2china(p)    {            var v = p;            var j = {0:'零',1:'壹',2:'贰',3:'叁',4:'肆',5:'伍',6:'陆',7:'柒',8:'捌',9:'玖'};            var d = ['元','拾','佰','仟','万','拾','佰','仟','亿','拾'];            var x =['角','分'];            var ry = {'零零':'零','零亿':'亿','亿万':'亿','零万':'万','零元':'元'};//,'零角':'','零分':''            var result = '';            var t = v.replace('.','');            if(!/[^\d\.]+/.test(v)&&(v.length-t.length<=1))            {                    var z = v.split('.');                    var l=v,r;                    if(z.length>1)                    {                        l = z[0];                        r = z[1];                    }                    if(l.length>10) return '数值太大,不再转换!';                    //处理整数部分                    for(i=l.length-1;i>=0;i--)                    {                        result = j[l.charAt(i)]+((l.charAt(i)=='0'&&(l.length-1-i)%4!=0)?'':d[l.length-1-i])+result;                    }                    //处理小数                    if(typeof(r) !='undefined')                    {                        r = r.substring(0,2);                          for(i=0;i<r.length;i++)                        {                            result += j[r.charAt(i)]+x[i];                        }                    }                    //替换无效数值                    for(n in ry)                    {                        while(n=='零零'&&result.indexOf(n)!==-1)                        {                            result = result.replace(n,ry[n]);                        }                        result = result.replace(n,ry[n]);                    }            }else            {                result='数值不合法,无法转换!';            }            return result;    }</script></head><body><input type="text" name="je" id="je" onkeyup="result.innerHTML=Arabic2china(this.value)"/><div id="result"></div></body></html> 

热点排行