jscript实现的客户端小写金额转换成人民币大写金额(最大千万元位)

转载 2007年09月18日 08:50:00
<script>
function getUppercase(number){     //最大千万位
 var intPart = parseInt(number).toString(); //整数部分
 if(intPart.length > 8){
  alert("数字长度超过限制,最大只能转换千万元位!");
  return "";
 }
 var floatPart;        //小数部分
 if(number.indexOf(".") > -1){
  floatPart = number.substr(number.indexOf(".") + 1);
 }else{
  floatPart = "00";
 }
 var digitalCn = new Array("零","壹","贰","叁","肆","伍","陆","柒","捌","玖");
 var unitCn = new Array("元","拾","佰","仟","万");  //元、角、分因位置固定,可直接判断,不需要计算
 var dArray = new Array(); //由小写数字组成的数组,dArray([m][n])。m=数字长度,n=2;n0=数字,n1=数字排位
 var n = intPart.length;
 for(i=0;i<intPart.length;i++){
  n--;
  dArray[i] = new Array(intPart.substr(i,1),n);
 }
 var resultStr = "";
 var mod;
 var divisor = 5;
 var tenGrand = 4; //万位
 for(i=0;i<dArray.length;i++){
  if(dArray[i][0] == 0 && dArray[i][1] != 0 && dArray[i][1] != 4){  //某位为0,且不是最后一位和万位时,不加单位
   resultStr += digitalCn[dArray[i][0]];
  }else{
   mod = dArray[i][1] % divisor
   if(dArray[i][1] >= divisor){mod += 1;}
   resultStr += digitalCn[dArray[i][0]] + unitCn[mod];
  }
 }
// alert(resultStr);
 var re
 re = /零+万/ig;
 resultStr = resultStr.replace(re,"万零");  //万前面的N个零都替换成“万零”
 re = /零{2,}/ig;
 resultStr = resultStr.replace(re,"零");  //不是“元”前面的2个以上的零都替换成1个零
 if(floatPart != "00"){
  re = /零+元/ig;
  resultStr = resultStr.replace(re,"零");  //“元”前面N个零都替换成“元”
  resultStr += digitalCn[parseInt(floatPart.substr(0,1))] + "角";
  resultStr += digitalCn[parseInt(floatPart.substr(1,1))] + "分";
 }else{
  re = /零+元/ig;
  resultStr = resultStr.replace(re,"元");  //“元”前面N个零都替换成“元”
  resultStr += "整";
 }
 return "人民币"+resultStr;
}
</script>  

jquery金额小写转大写

/** * 数字转中文 * @param dValue * @returns */ function chineseNumber(dValue) { var maxDec = 2...
  • baidu_28678737
  • baidu_28678737
  • 2015年07月03日 14:52
  • 1953

SQL人民币小写金额转大写

--1、人民币小写金额转大写(第一版) ==================================================================== -- Title:...
  • tlammon
  • tlammon
  • 2016年04月05日 22:03
  • 1471

将数字转为中文金额的大写方式(C++版)

/**   * 程序目的:   *   从命令行接收一个数,并将其转化为中文金额的大写方式(C++版)   * 例如 123.45 --> 壹佰贰拾叁元肆角伍分   * @author Lov...
  • u010944926
  • u010944926
  • 2014年03月08日 15:57
  • 3187

C# 人民币金额转大写

using System; namespace DotNet.Utilities { /// /// Rmb 的摘要说明。 /// public class...
  • zuoyefeng1990
  • zuoyefeng1990
  • 2017年04月18日 23:37
  • 212

Qt将数字转为中文大写金额

在实现之前自己在网上找了相关资料, 没发现好的实现方法, 仿照一篇博客写能实现将整数转为大写中文数字, 但是源代码写得有些复杂且没有实现小数的转换, 索性自己改写了一下....
  • tangtaizong33
  • tangtaizong33
  • 2017年08月02日 18:25
  • 359

java版,实现人民币的大小写转换

前两天看了,一个技术牛人的访谈,讲的非常的精彩。我只记得当中他说,程序员要怎么学习。提了很重要的一点,就是要经常性的写博客,把自己学到的知识,分享出来,这样不仅可以提高自己的能力,还能够让别人看你程序...
  • lanxingfeifei
  • lanxingfeifei
  • 2016年02月01日 14:55
  • 2667

Delphi货币类型转中文大写金额

在Delphi中,为了实现货币数值运算中的严格精度要求,内部把货币类型数据当作一个放大10000倍的64位整数来处理。这样根据64位整数的范围,可以得出货币类型Currency的范围是 [-92233...
  • tht2009
  • tht2009
  • 2017年06月15日 15:03
  • 446

C#人民币金额大写转换

人民币金额大小写转换,三行代码 //完善了一下查询到的方法,支持小数,保留2位小数 完善了一下查询到的方法,支持小数,保留2位小数 public string NumGetStr(double Nu...
  • CommandBaby
  • CommandBaby
  • 2015年11月28日 14:00
  • 2558

Java将小写金额转换成大写

public class Test { private static final String UNIT = "万千佰拾亿千佰拾万千佰拾元角分"; private static final St...
  • leayefang
  • leayefang
  • 2016年11月09日 13:19
  • 1224

在fastreport里转换金额大小写

在fastreport的pascalscript里面我没有搞明白怎么调用sysutil
  • ddlucky
  • ddlucky
  • 2014年11月13日 15:48
  • 1449
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:jscript实现的客户端小写金额转换成人民币大写金额(最大千万元位)
举报原因:
原因补充:

(最多只允许输入30个字)