Javascript 阿拉伯数字转化中国大写数字的函数代码
更新时间:2010年04月15日 18:39:34 作者:
将阿拉伯数字转化中国大写数字的函数代码,需要的朋友可以参考下。
主要函数代码:
function Chinese(num)
{
if(!/^\d*(\.\d*)?$/.test(num))
{
alert("你输入的不是数字,请重新输入!");
return false;
}
var AA = new Array("零","壹","贰","叁","肆","伍","陆","柒","捌","玖");
var BB = new Array("","拾","佰","仟","万","亿","点","");
var a = (""+ num).replace(/(^0*)/g, "").split("."), k = 0, re = "";
for(var i=a[0].length-1; i>=0; i--)
{
switch(k)
{
case 0 :
re = BB[7] + re;
break;
case 4 :
if(!new RegExp("0{4}\\d{"+ (a[0].length-i-1) +"}$").test(a[0]))
re = BB[4] + re;
break;
case 8 :
re = BB[5] + re;
BB[7] = BB[5];
k = 0;
break;
}
if(k%4 == 2 && a[0].charAt(i)=="0" && a[0].charAt(i+2) != "0") re = AA[0] + re;
if(a[0].charAt(i) != 0) re = AA[a[0].charAt(i)] + BB[k%4] + re;
k++;
}
if(a.length>1) {
re += BB[6];
for(var i=0; i<a[1].length; i++) re += AA[a[1].charAt(i)];
}
return re;
}
使用方法:
function TrunToChina()
{
var num= 123456789;
alert(Chinese(num));
}
TrunToChina();
效果演示
[Ctrl+A 全选 注:引入外部Js需再刷新一下页面才能执行]
复制代码 代码如下:
function Chinese(num)
{
if(!/^\d*(\.\d*)?$/.test(num))
{
alert("你输入的不是数字,请重新输入!");
return false;
}
var AA = new Array("零","壹","贰","叁","肆","伍","陆","柒","捌","玖");
var BB = new Array("","拾","佰","仟","万","亿","点","");
var a = (""+ num).replace(/(^0*)/g, "").split("."), k = 0, re = "";
for(var i=a[0].length-1; i>=0; i--)
{
switch(k)
{
case 0 :
re = BB[7] + re;
break;
case 4 :
if(!new RegExp("0{4}\\d{"+ (a[0].length-i-1) +"}$").test(a[0]))
re = BB[4] + re;
break;
case 8 :
re = BB[5] + re;
BB[7] = BB[5];
k = 0;
break;
}
if(k%4 == 2 && a[0].charAt(i)=="0" && a[0].charAt(i+2) != "0") re = AA[0] + re;
if(a[0].charAt(i) != 0) re = AA[a[0].charAt(i)] + BB[k%4] + re;
k++;
}
if(a.length>1) {
re += BB[6];
for(var i=0; i<a[1].length; i++) re += AA[a[1].charAt(i)];
}
return re;
}
使用方法:
复制代码 代码如下:
function TrunToChina()
{
var num= 123456789;
alert(Chinese(num));
}
TrunToChina();
效果演示
[Ctrl+A 全选 注:引入外部Js需再刷新一下页面才能执行]
相关文章
JavaScript精炼之构造函数 Constructor及Constructor属性详解
对象的constructor属性用于返回创建该对象的函数,也就是我们常说的构造函数,除了创建对象,构造函数(constructor) 还做了另一件有用的事情—自动为创建的新对象设置了原型对象(prototype object)2015-11-11js实现iGoogleDivDrag模块拖动层拖动特效的方法
这篇文章主要介绍了js实现iGoogleDivDrag模块拖动层拖动特效的方法,实例分析了javascript操作拖动层的技巧,需要的朋友可以参考下2015-03-03扩展js对象数组的OrderByAsc和OrderByDesc方法实现思路
js的扩展方法是基于原型的,如Array.prototype.XXXX就是给Array扩展XXX方法,然后数组都能使用这个方法了,在对象数组里面经常有根据属性来进行排序的,升序,降序的,下面与大家分享自己写的一个2013-05-05
最新评论