当前位置: 首页 > 图文教程 > 网络编程 > Javascript > 转换大写中文数字

Javascript
javascript if 的简化代码
javascript下with 的简化代码写法
javascript简化代码 A=alert w=document.writeln
js 调整select 位置的函数
JS应用之禁止抓屏、复制、打印
js加解密 脚本解密
js+vml创建3D页面效果代码
javascript简写效果“神秘的眼睛”
js实现的定时关闭页面或定时提醒效果代码
js 字数统计,区分英汉
js双色时间效果代码
js计算时间过去的时间
一个javascript参数的小问题
textarea支持图形编辑的实现方法
JavaScript面向对象编程
动态生成的IFRAME,设置SRC时的,不同位置带来的影响
JObj预览一个JS的框架
去除有数组中重复的元素
用JObj实现的渐变效果
给自定义对象加上自定义事件的支持的教程

Javascript 中的 转换大写中文数字


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-08-10   浏览: 707 ::
收藏到网摘: n/a

类别:Java -> Javascript

转换大写数字

可以将数字(包括小数)转换为大写的中文数字,并且保留两位。范围:0~9999,9999,9999。

效果:

转换代码如下:

function Transform()
{
var whole = document.all.num.value;

//分离整数与小数
var num;
var dig;
if(whole.indexOf(".") == -1)
{
num = whole;
dig = "";
}
else
{
num = whole.substr(0,whole.indexOf("."));
dig = whole.substr( whole.indexOf(".")+1, whole.length);
}

//转换整数部分
var i=1;
var len = num.length;

var dw2 = new Array("","万","亿");//大单位
var dw1 = new Array("拾","佰","千");//小单位
var dw = new Array("","壹","贰","叁","肆","伍","陆","柒","捌","玖");//整数部分用
var dws = new Array("零","壹","贰","叁","肆","伍","陆","柒","捌","玖");//小数部分用
var k1=0;//计小单位
var k2=0;//计大单位
var str="";

for(i=1;i<=len;i++)
{
var n = num.charAt(len-i);
if(n=="0")
{
if(k1!=0)
str = str.substr( 1, str.length-1);
}

str = dw[Number(n)].concat(str);//加数字

if(len-i-1>=0)//在数字范围内
{
if(k1!=3)//加小单位
{
str = dw1[k1].concat(str);
k1++;
}
else//不加小单位,加大单位
{
k1=0;
var temp = str.charAt(0);
if(temp=="万" || temp=="亿")//若大单位前没有数字则舍去大单位
str = str.substr( 1, str.length-1);
str = dw2[k2].concat(str);
}
}


if(k1==3)//小单位到千则大单位进一
{
k2++;
}

}

//转换小数部分
var strdig="";
for(i=0;i<2;i++)
{
var n = dig.charAt(i);
strdig += dws[Number(n)];//加数字
}

str += " 点 "+strdig;

document.all.text.value = str;
}

 

技术资料