金额大写转化
Js代码:
/*
人民币大写金额规则
(一) 阿拉伯数字中间有“0”时,中文大写金额中间可以只写一个“零”字。
如¥1,409.50,应写成人民币壹仟肆佰零玖元伍角。
(二) 阿拉伯数字中间连续有几个“0”,中文大写金额中间可以只写一个“零”字,
如¥6,007.14,应写成人民币陆仟零柒元壹角肆分。
(三) 阿拉伯金额数字万位或元位是“0”,或者数字中间连续有几个“0”,
万位、元位也是“0”,但仟位、角位不是“0”时,中文大写金额中可以只写一个零字,也可以不写“零”字,如¥1,680.32,应写成人民币壹仟陆佰捌拾元零三角贰分,或者写成人民币壹仟陆佰捌拾元三角贰分;
又如¥107,000.53,应写成人民币壹拾万柒仟元零伍角叁分,或者写成人民币壹拾万柒仟元伍角叁分。
(四) 阿拉伯金额数字角位是“0”,而分位不是“0”时,中文大写金额“元”后面应写“零”字。
如¥16,409.02,应写成人民币壹万陆仟肆佰零玖元零贰分;
又如¥325.04,应写成人民币叁佰贰拾元零肆分。
根据《中华人民共和国票据法》的相关规定:
填写票据和结算凭证,必须做到
标准
excel标准偏差excel标准偏差函数exl标准差函数国标检验抽样标准表免费下载红头文件格式标准下载
化、规范化,
要素齐全、数字正确、字迹清晰、不错漏、不潦草,防止涂改。
1、中文大写金额数字如零、壹、贰、叁、肆、伍、陆、柒、捌、玖、拾、佰、仟、万、亿等,
应用正楷或行书填写,不得自造简化字。如果金额数字书写中使用繁体字,也应受理(针对银行方)。
2、中文大写金额数字到“元”为止的,在“元”之后,应写“整”(或“正”)字,
在“角”之后可以不写“整”(或“正”)字。大写金额数字有“分”的,“分”后面不写“整”(或“正”)字。
3、中文大写在写一般票据和银行支票是不一样的。
一般票据的写法上面的上一部分已经写得很清楚了,
银行支票得写法就得把零全写上,不管0在什么位置,要写成零元零角零分。
*/
// 预定义汉字与对应单位
var zwsz = new Array("", "壹", "贰", "叁", "肆", "伍", "陆", "柒", "捌", "玖");
var xsdw = new Array("分", "角"); //小数部分单位
var zsdw = new Array("元", "拾", "佰", "仟", "万", "拾", "佰", "仟", "亿", "拾", "佰", "仟", "万"); //整数部分单位
var ling = 0;// 数字中连续的0出现的次数
// 预定义replaceAll
方法
快递客服问题件处理详细方法山木方法pdf计算方法pdf华与华方法下载八字理论方法下载
String.prototype.replaceAll = function(s1,s2){
return this.replace(new RegExp(s1,"gm"),s2);
}
//数字小写转换成大写精确到万元
function transformWy(val){
}
//数字小写转换成大写精确到元
function transformY(zsbf){
//转换整数部分
var zsbf_str="";
var len = zsbf.length;
//alert("zsbf::"+zsbf);
for(var i=0; i
0){
zsbf_str = zsbf_str + "零" + num_C + num_dw;
}else{
zsbf_str = zsbf_str + num_C + num_dw;
}
ling = 0;
}else{
// 当前数字为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;
}
}
}else{
// 当前数字为0的时候,需要判断是否该显示万,亿2个单位
// 数字长度为5,8位的时候预定义的单位带有万、亿,这里就不做处理了。
if( ws.length == 4 || ws.length == 8){
zsbf_str = zsbf_str + "元";
break;
}else{
if(ws.length > 4){
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;
}
}else{
zsbf_str = zsbf_str + "元";
break;
}
}
}
//alert("第"+i+"次循环,结果=="+zsbf_str);
}
return zsbf_str;
}
//数字小写转换成大写小数部分转化
function transformXs(xsbf){
//转换小数部分
var strdig="";
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)]+"分";
}
}
return strdig;
}
function varlNum(val){
}
//数字小写转换成大写精确到元
function transform1(val){
var zsbf; //整数部分
var xsbf; //小数部分
if(val.indexOf(".") == -1){
zsbf = val;
xsbf = "";
}else{
zsbf = val.substr(0, val.indexOf("."));
xsbf = val.substr(val.indexOf(".")+1, val.length);
}
//alert("英文=="+zsbf.indexOf(","));
//alert("半角=="+zsbf.indexOf(","));
//alert("全角=="+zsbf.indexOf(","));
// 替换逗号英文
if(zsbf.indexOf(",")>-1){
zsbf = zsbf.replaceAll(",","");
}
// 替换逗号半角
if(zsbf.indexOf(",")>-1){
zsbf = zsbf.replaceAll(",","");
}
// 替换逗号全角
if(zsbf.indexOf(",")>-1){
zsbf = zsbf.replaceAll(",","");
}
// 数字处理部分END
// 整数部分处理
var zsbf_str = "";
zsbf_str = transformY(zsbf);
//alert("main,zsbf=="+zsbf_str);
if(zsbf != "" && xsbf==""){
zsbf_str += "整";
}
// 整数部分处理END
// 小数部分处理
zsbf_str += transformXs(xsbf);
// 小数部分处理END
// 标志位复原
ling = 0;
return zsbf_str;
}
/*
此方法是在承包商录入列表页面上打印施工证和准入证时使用的原来用的是transform1方法,
但是因为陈红提出“注册资金为万元,可以把整字去掉”的要求所以进行的一些相关修改。数字小写转换成大写精确到元*/
function transform2(val){
var zsbf; //整数部分
var xsbf; //小数部分
if(val.indexOf(".") == -1){
zsbf = val;
xsbf = "";
}else{
zsbf = val.substr(0, val.indexOf("."));
xsbf = val.substr(val.indexOf(".")+1, val.length);
}
//alert("英文=="+zsbf.indexOf(","));
//alert("半角=="+zsbf.indexOf(","));
//alert("全角=="+zsbf.indexOf(","));
// 替换逗号英文
if(zsbf.indexOf(",")>-1){
zsbf = zsbf.replaceAll(",","");
}
// 替换逗号半角
if(zsbf.indexOf(",")>-1){
zsbf = zsbf.replaceAll(",","");
}