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

Javascript
javascript radio list的实现细节(多浏览器兼容)
IE在DOM操作有表单控件时的bug
trim原型函数看js正则表达式的性能
js 禁用浏览器的后退功能的简单方法
IE和Firefox下javascript的兼容写法小结
兼容ie和firefox js关闭代码
用tip解决Ext列宽度不够的问题
firefox getyear() getFullYear数获取年份的问题
javascript iFrame研究
FLASH 广告之外的链接
firefox TBODY 用js显示和隐藏时出现错位的解决方法
Javascript 获取LI里的内容
比较全的JS checkbox全选、取消全选、删除功能代码
JS checkbox控制操作代码
document.all与getElementById、getElementsByName、getElementsByTagName用法区别-document.all
document.all与getElementById、getElementsByName、getElementsByTagName用法区别-getElementById
简单通用的JS滑动门代码
Javascript select控件操作大全(新增、修改、删除、选中、清空、判断存在等)
js 提交和设置表单的值
flash javascript之间的通讯方法小结

Javascript 中的 转换大写中文数字


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-08-10   浏览: 661 ::
收藏到网摘: 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;
}

 

技术资料