100字范文,内容丰富有趣,生活中的好帮手!
100字范文 > js实现完美兼容各大浏览器的人民币大小写相互转换【javascript】

js实现完美兼容各大浏览器的人民币大小写相互转换【javascript】

时间:2021-07-24 21:26:54

相关推荐

js实现完美兼容各大浏览器的人民币大小写相互转换【javascript】

web前端|js教程

js人民币大小写转化

web前端-js教程

/*小写转大写*/

传奇3插件源码中敏捷,ubuntu运行cgi脚本,oauth2 爬虫,php的move,武汉seo后台lzw

var xcc= "12.22";document.write(xcc+"=>"+formatRMB(xcc)+"

");

/*大写转小写*/

随机生成器apk源码,ubuntu放软件目录,tomcat的CPU飙高,网上爬虫图片,php连接波长,沈阳市场抖音seo优化服务电话lzw

var rrrr = "壹拾贰元贰角贰分";document.write(rrrr+"=>"+parseRMB(rrrr));

输出结果:

12.22=>壹拾贰元贰角贰分

壹拾贰元贰角贰分=>12.22

oa系统源码 java,vscode 如何多选,ubuntu比较工具免费绿色版,idea托管tomcat,c# sqlite 读取,PC端的图片上传插件,view.js前端开发框架,背部 爬虫感 皮肤完好,php上传文件限制大小,福州网络seo,网站添加支付宝,网页导航条素材,手机站模板下载lzw

我们来看下具体实例

var c = "零壹贰叁肆伍陆柒捌玖".split("");// ["零","壹","贰","叁","肆","伍","陆","柒","捌","玖"]var _c = {}; // 反向对应关系for ( var i = 0; i < c.length; i++) { _c[c[i]] = i;}; var d = "元***万***亿***万";var e = ",拾,佰,仟".split(",");function unit4(arr) { var str = "", i = 0; while (arr.length) { var t = arr.pop(); str = (c[t] + (t == 0 ? "" : e[i])) + str; i++; } str = str.replace(/[零]{2,}/g, "零"); str = str.replace(/^[零]/, ""); str = str.replace(/[零]$/, ""); if (str.indexOf("零") == 0) { str = str.substring(1); } if (str.lastIndexOf("零") == str.length - 1) { str = str.substring(0, str.length - 1); } return str;}function _formatD(a) { // 转化整数部分 var arr = a.split(""), i = 0, result = ""; while (arr.length) { var arr1 = arr.splice(-4, 4);var dw = d.charAt(i), unit = unit4(arr1);if (dw == 万 && !unit) {dw = ""; } result = unit + dw + result; i += 4; } return result == "元" ? "" : result;}function _formatF(b){ // 转化小数部分 b = b || ""; switch (b.length) { case 0: return "整"; case 1: return c[b] + "角"; default: return c[b.charAt(0)] + "角" + c[b.charAt(1)] + "分"; }}function _format(n){ var a = ("" + n).split("."), a0 = a[0], a1 = a[1]; return _formatD(a0) + _formatF(a1);} function parse4(u4){ var res = 0; while (t = /([零壹贰叁肆伍陆柒捌玖])([拾佰仟]?)/g.exec(u4)) { var n = _c[t[1]], d = {"" : 1,"拾" : 10,"佰" : 100,"仟" : 1000 }[t[2]]; res += n * d; u4 = u4.replace(t[0], ""); } var result = ("0000" + res); return result.substring(result.length - 4);}function _parseD(d) { var arr = d.replace(/[零]/g, "").split(/[万亿]/), rs = ""; for ( var i = 0; i < arr.length; i++) { rs += parse4(arr[i]); } ; return rs.replace(/^[0]+/, "");};function _parseF(f) { var res = "", t = f.replace(/[^零壹贰叁肆伍陆柒捌玖]+/g, "").split(""); // 去掉单位 if (t.length) { res = "."; } else { return ""; } ; for ( var i = 0; (i < t.length && i "+formatRMB(xcc)+"

"); /*大写转小写*/var rrrr = "壹拾贰元贰角贰分";document.write(rrrr+"=>"+parseRMB(rrrr));

再来看一个将RMB转化为大写的例子

//人民币金额转大写程序 JavaScript版 //CopyRight Bardo QI function numToCny(num){ var capUnit = [万,亿,万,圆,\]; var capDigit = { 2:[角,分,\], 4:[仟,佰,拾,\]}; var capNum=[零,壹,贰,叁,肆,伍,陆,柒,捌,玖]; if (((num.toString()).indexOf(.) > 16)||(isNaN(num))) return \; num = (Math.round(num*100)/100).toString(); num =((Math.pow(10,19-num.length)).toString()).substring(1)+num; var i,ret,j,nodeNum,k,subret,len,subChr,CurChr=[]; for (i=0,ret=\;i<5;i++,j=i*4+Math.floor(i/4)){ nodeNum=num.substring(j,j+4); for(k=0,subret=\,len=nodeNum.length;((k CurChr[k%2] = capNum[nodeNum.charAt(k)]+((nodeNum.charAt(k)==0)?\:capDigit[len][k]); if (!((CurChr[0]==CurChr[1]) && (CurChr[0]==capNum[0]))) if(!((CurChr[k%2] == capNum[0]) && (subret==\) && (ret==\))) subret += CurChr[k%2]; } subChr = subret + ((subret==\)?\:capUnit[i]); if(!((subChr == capNum[0]) && (ret==\))) ret += subChr; } ret=(ret==\)? capNum[0]+capUnit[3]: ret; return ret; }

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。