金额大写转换

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一般票据的写法上面的上一部分已经写得很清楚了,
银行支票得写法就得把零全写上,不管0在什么位置,要写成零元零角零分。
*/
//预定义汉字与对应单位
var zwsz = new Array("", "壹", "贰", "叁", "肆", "伍", "陆", "柒", "捌", "玖");
var xsdw = new Array("分", "角"); //小数部分单位
}
//替换逗号全角
if(zsbf.indexOf(",")>-1){
zsbf = zsbf.replaceAll(",","");
}
//数字处理部分END
//整数部分处理
var zsbf_str = "";
zsbf_str = transformY(zsbf);
//alert("main,zsbf=="+zsbf_str);
if(xsbf!=""){
var n = xsbf.charAt(0);
if(n!=0){
strdig += zwsz[Number(n)]+"角";
}else{
strdig += zwsz[Number(n)];
}
var n = xsbf.charAt(1);
if(n!=0){
strdig += zwsz[Number(n)]+"分";
应用正楷或行书填写,不得自造简化字。如果金额数字书写中使用繁体字,也应受理(针对银行方)。
2、中文大写金额数字到“元”为止的,在“元”之后,应写“整”(或“正”)字,
在“角”之后可以不写“整”(或“正”)字。大写金额数字有“分”的,“分”后面不写“整”(或“正”)字。
3、中文大写在写一般票据和银行支票是不一样的。
}
}
return strdig;
}
function varlNum(val){
}
//数字小写转换成大写精确到元
function transform1(val){
var zsbf; //整数部分
var xsbf; //小数部分
if(val.indexOf(".") == -1){
zsbf = val;
var len = zsbf.length;
//alert("zsbf::"+zsbf);
for(var i=0; i<len; i++){
var num_N = zsbf.charAt(i); //一般数字
var num_C = num_C = zwsz[num_N]; //中文数字
var num_dw = "";
if(ws.length > 8){
zsbf_str = zsbf_str + "亿元" + num_C + num_dw;
break;
}else if(ws.length < 8){
zsbf_str = zsbf_str + "万元" + num_C + num_dw;
break;
}else{
break;
金额大写转化
J
/*
人民币大写金额规则
(一)阿拉伯数字中间有“0”时,中文大写金额中间可以只写一个“零”字。
如¥1,409.50,应写成人民币壹仟肆佰零玖元伍角。
(二)阿拉伯数字中间连续有几个“0”,中文大写金额中间可以只写一个“零”字,
如¥6,007.14,应写成人民币陆仟零柒元壹角肆分。
(三)阿拉伯金额数字万位或元位是“0”,或者数字中间连续有几个“0”,
//如果高位出现过0当前数字非零的时候,显示一个0,并且清空一次ling标志位
if(ling > 0){
zsbf_str = zsbf_str + "零" + num_C + num_dw;
}else{
zsbf_str = zsbf_str + num_C + num_dw;
}
ling = 0;
}else{
var zsdw = new Array("元", "拾", "佰", "仟", "万", "拾", "佰", "仟", "亿", "拾", "佰", "仟", "万"); //整数部分单位
var ling = 0;//数字中连续的0出现的次数
//预定义replaceAll方法
String.prototype.replaceAll = function(s1,s2){
//只有当前数字非零时,拼上对应的单位
if(num_N != 0){
//alert("len=="+len+"--i=="+i);
num_dw = zsdw[len-i-1]; //对应单位
}else{
ling += 1;
}
//alert("数字=="+num_N+",中文==="+num_C+",单位是:"+num_dw);
如¥16,409.02,应写成人民币壹万陆仟肆佰零玖元零贰分;
又如¥325.04,应写成人民币叁佰贰拾元零肆分。
根据《中华人民共和国票据法》的相关规定:
填写票据和结算凭证,必须做到标准化、规范化,
要素齐全、数字正确、字迹清晰、不错漏、不潦草,防止涂改。
1、中文大写金额数字如零、壹、贰、叁、肆、伍、陆、柒、捌、玖、拾、佰、仟、万、亿等,
//当前数字为0的时候,需要判断是否该显示万,亿2个单位
if(ws.length == 5){
zsbf_str = zsbf_str + "万" + num_C + num_dw;
}else if(ws.length == 9){
zsbf_str = zsbf_str + "亿" + num_C + num_dw;
</td>
</tr>
。。。。。。
。。。。。。
<tr>
<td class="header">金额大写:</td>
<td class="form" colspan="3" id="sumCapital">&nbsp;</td>
</tr>
。。。。。。
</body>
<script language="JavaScript" type="text/javascript">
万位、元位也是“0”,但仟位、角位不是“0”时,中文大写金额中可以只写一个零字,
也可以不写“零”字,如¥1,680.32,应写成人民币壹仟陆佰捌拾元零三角贰分,
或者写成人民币壹仟陆佰捌拾元三角贰分;
又如¥107,000.53,应写成人民币壹拾万柒仟元零伍角叁分,或者写成人民币壹拾万柒仟元伍角叁分。
(四)阿拉伯金额数字角位是“0”,而分位不是“0”时,中文大写金额“元”后面应写“零”字。
}
}
}else{
//当前数字为0的时候,需要判断是否该显示万,亿2个单位
//数字长度为5,8位的时候预定义的单位带有万、亿,这里就不做处理了。
if(ws.length == 4 || ws.length == 8){
zsbf_str 源自文库 zsbf_str + "元";
break;
}else{
if(ws.length > 4){
if(zsbf != "" && xsbf==""){
zsbf_str += "整";
}
//整数部分处理END
//小数部分处理
zsbf_str += transformXs(xsbf);
//小数部分处理END
//标志位复原
ling = 0;
return zsbf_str;
}
/*
此方法是在承包商录入列表页面上打印施工证和准入证时使用的原来用的是transform1方法,
//alert("全角=="+zsbf.indexOf(","));
//替换逗号英文
if(zsbf.indexOf(",")>-1){
zsbf = zsbf.replaceAll(",","");
}
//替换逗号半角
if(zsbf.indexOf(",")>-1){
zsbf = zsbf.replaceAll(",","");
//alert("num_C=="+num_C);
//尾数不为0
var ws = zsbf.substr(i,len);
//alert("ws=="+ws);
if(ws != 0){
if(num_N != 0){
//alert("尾数=="+ws+",当前数=="+num_N+",已经产生汉字=="+zsbf_str+",ling=="+ling);
//alert("全角=="+zsbf.indexOf(","));
//替换逗号英文
if(zsbf.indexOf(",")>-1){
zsbf = zsbf.replaceAll(",","");
}
//替换逗号半角
if(zsbf.indexOf(",")>-1){
zsbf = zsbf.replaceAll(",","");
xsbf = "";
}else{
zsbf = val.substr(0, val.indexOf("."));
xsbf = val.substr(val.indexOf(".")+1, val.length);
}
//alert("英文=="+zsbf.indexOf(","));
//alert("半角=="+zsbf.indexOf(","));
/*-------------------------------应陈红要求做出的调整:将加整字的逻辑去掉。
if(zsbf != "" && xsbf==""){
zsbf_str += "整";
}*/
//整数部分处理END
//小数部分处理
zsbf_str += transformXs(xsbf);
//小数部分处理END
<body onload="fun_capital();">
。。。。。。
<tr>
<td class="header">合计</td>
<td class="row1_c">&nbsp;</td>
<td class="row1_c">
<%=tempHJ %>&nbsp;
<input type="hidden" id="tempHJ" name="tempHJ" value="<%=tempHJ %>" />
xsbf = "";
}else{
zsbf = val.substr(0, val.indexOf("."));
xsbf = val.substr(val.indexOf(".")+1, val.length);
}
//alert("英文=="+zsbf.indexOf(","));
//alert("半角=="+zsbf.indexOf(","));
但是因为陈红提出“注册资金为万元,可以把整字去掉”的要求所以进行的一些相关修改。
数字小写转换成大写精确到元*/
function transform2(val){
var zsbf; //整数部分
var xsbf; //小数部分
if(val.indexOf(".") == -1){
zsbf = val;
}
//替换逗号全角
if(zsbf.indexOf(",")>-1){
zsbf = zsbf.replaceAll(",","");
}
//数字处理部分END
//整数部分处理
var zsbf_str = "";
zsbf_str = transformY(zsbf);
//alert("main,zsbf=="+zsbf_str);
//标志位复原
ling = 0;
return zsbf_str;
}
HTML
//说明:引入js
<script language="javascript" src="<%=basePath%>xbgczj/js/transform.js"></script>
。。。。。。
//说明:页面加载的时候执行转化方法
}
}else{
zsbf_str = zsbf_str + "元";
break;
}
}
}
//alert("第"+i+"次循环,结果=="+zsbf_str);
}
return zsbf_str;
}
//数字小写转换成大写小数部分转化
function transformXs(xsbf){
//转换小数部分
var strdig="";
return this.replace(new RegExp(s1,"gm"),s2);
}
//数字小写转换成大写精确到万元
function transformWy(val){
}
//数字小写转换成大写精确到元
function transformY(zsbf){
//转换整数部分
var zsbf_str="";
function fun_capital(){
//金额大写
document.getElementById("sumCapital").innerText=transform2((document.getElementById("tempHJ").value*10000).toString());
相关文档
最新文档