动网论坛,站长建站首选,国内使用量最多的论坛软件 动网论坛官方技术讨论区 站长工具 申请属于您自己的免费论坛
首页 | 新闻资讯 | 网站运营 | 网络编程 | 数据库 | 服务器 | 网页设计 | 图像媒体 | 网络应用 | 搜索优化 | 资源下载 | 动网主机 | DVBOX
    本站内  互联网 ASP论坛  ASP.Net论坛  PHP论坛
   网页设计 → 阅读文章

 转换大写中文数字

作者:无从考证 来源:CSDN 
阅读 268 人次 , 2008-5-14 15:41:00 

可以将数字(包括小数)转换为大写的中文数字,并且保留两位。范围: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;
}

  
 
 收藏本文  打印本文  论坛讨论  关闭窗口
· 上一篇:类似 MSDN CSDN 左边导航树效果的实现
· 下一篇:vbscript和javascript互相调用方法
· 简化的enter转化成tab组件
· 用鼠标拖动表格进行排序
· 网页经典代码(四)
· 实现上传(增删)多个文件的客户端写法。
· Dreamweaver 4.0使用技巧集锦


关于本站 | 联系我们 | 业务合作 | 客户案例 | 诚聘英才 | 广告合作 | 收藏本站
海口动网先锋网络科技有限公司版权所有
Copyright © 2000 - 2006 Cndw.Com
中华人民共和国电信与信息服务业务经营许可证编号 琼 ICP 020077