【IT专家】js将人民币小写金额转换为大写
JavaScript实现大小写字母转换
JavaScript实现⼤⼩写字母转换input标签<input type="text" id="yzm" value=""/><input type="button" value="转⼤写" onclick="dxz()"/><input type="button" value="转⼩写" onclick="xxz()"/><input type="text" id="bzm" value=""/>转⼤写字母function dxz() {var yzm = document.getElementById('yzm');var bzm = document.getElementById('bzm');bzm.value = yzm.value.toUpperCase();}转⼩写字母function xxz() {var yzm = document.getElementById('yzm');var bzm = document.getElementById('bzm');bzm.value = yzm.value.toLowerCase();}我们还可以基于上⾯的字母转换改写为⼀个函数改进⽅法input标签点击<input type="text" id="yzm" value=""/><input type="button" value="转⼤写" onclick="deal(dxz)"/><input type="button" value="转⼩写" onclick="deal(xxz)"/><input type="text" id="bzm" value=""/>js函数function deal(opt){var str = document.getElementById('yzm').value;switch(opt){case 'dxz':str = str.toUpperCase();break;case 'xxz':str = str.toLowerCase();break;}document.getElementById('bzm').value = str;};toLowerCase() ⽅法⽤于把字符串转换为⼩写。
JavaScript将数字转换成大写中文的方法
这篇文章主要介绍了JavaScript将数字转换成大写中文的方法,涉及javascript字符串及匹配的技巧,具有一定参考借鉴价值,需要的朋友可以参考下本文实例讲述了JavaScript将数字转换成大写中文的方法。
分享给大家供大家参考。
具体实现方法如下:function intToChinese ( str ) (str = str+'';var len = str.length-1;var idxs =['',,十','百','千','万','十','百','千','亿','十','百','千','万','十','百','千',亿'];var num =['零',,壹','贰','蹇','肆',伍,,'陆','柴,,'捌',,玖'];return str.replace(/([1-9]|0+)/g,function( $, $1, idx, full) (var pos = 0;if( $1[0] != '0' )(pos = len-idx;if( idx == 0 && $1[0] == 1 && idxs[len-idx]==' 十')(return idxs[len-idx];}return num[$1[0]] + idxs[len-idx];} else (var left = len - idx;var right = len - idx + $1.length;if( Math.floor(right/4) - Math.floor(left/4) > 0 )(pos = left - left%4;}if( pos )(return idxs[po s] + num[$1[0]];} else if( idx + $1.length >= len )(return '';}else (return num[$1[0]]}}});}希望本文所述对大家的javascript程序设计有所帮助。
小写金额转换成大写金额的js函数代码
Strin g.pro totyp e.Tri m = fu nctio n() {ret urn this.repl ace(/(^\s*)|(\s*$)/g,"");} //去空格函数 varorde rwebs ite=d ocume nt.ge tElem entBy Id("<%=txt Order WebSi te.Cl ientI D%>").valu e; ord erweb site= ord erweb site.Trim(); varcanc elord erweb site=docum ent.g etEle mentB yId("<%=tx tCanc elOrd erWeb Site.Clien tID%>").va lue;c ancel order websi te =cance lorde rwebs ite.T rim();----------------------------------------------------------------------------------------------------------------------//增加一个名为 tri m 的函数作为// Stri ng 构造函数的原型对象的一个方法。
S tring.prot otype.trim = fu nctio n(){// 用正则表达式将前后空格// 用空字符串替代。
retur n thi s.rep lace(/(^\s*)|(\s*$)/g, "");}// 有空格的字符串var s =" leadi ng an d tra iling spac es ";// 显示 " lead ing a nd tr ailin g spa ces (35)"w indow.aler t(s + " (" + s.lengt h + ")");// 删除前后空格s =s.tri m();// 显示"lead ing a nd tr ailin g spa ces (27)"windo w.ale rt(s+ " (" + s.leng th +")");-----------------------------------------------------------------------------------------------js中本身是没有trim函数的,不过你可以自己写一个funct ion t rim(s tr) {var n ewStr = st r.rep lace(/^\s*$/g,'') ret run n ewStr;}---------------------------------------------------------------------------------ja vascr ipt:func tionChang eToBi g(val ue) {va r int Fen,i;va r str Arr,s trChe ck,st rFen,strDW,strN um,st rBig,strNo w;if(tr im(va lue)=="")//数据为空时返回"零"r eturn "零";if(isNa N(val ue))//数据非法时提示,并返回空串{ strEr r = "数据"+v alue+"非法!"ale rt(st rErr);re turn""; }st rChec k = v alue+".";strA rr =strCh eck.s plit(".");str Check = st rArr[0]; if(st rChec k.len gth>12) //数据大于等于一万亿时提示无法处理{strE rr ="数据"+value+"过大,无法处理!"al ert(s trErr);r eturn "";}t ry{i = 0; strBi g = "";i ntFen = va lue*100; //转换为以分为单位的数值s trFen = in tFen.toStr ing();st rArr= str Fen.s plit(".");str Fen = strA rr[0];in tFen= str Fen.l ength; //获取长度strAr r = s trFen.spli t(""); //将各个数值分解到数组内whi le(in tFen!=0) //分解并转换{i =i+1;swit ch(i) //选择单位{cas e 1:s trDW= "分";brea k;c ase 2:strD W = "角";br eak;case 3:st rDW = "元";break;ca se 4:strDW = "拾";bre ak; case5:str DW ="佰";b reak;cas e 6:s trDW= "仟";brea k;c ase 7:strD W = "万";br eak;case 8:st rDW = "拾";break;ca se 9:strDW = "佰";bre ak; case10:st rDW = "仟";break;ca se 11:strD W = "亿";br eak;case 12:s trDW= "拾";brea k;c ase 13:str DW ="佰";b reak;cas e 14:strDW = "仟";bre ak; }sw itch(strA rr[in tFen-1]) //选择数字{ case"1":s trNum = "壹";bre ak; case"2":s trNum = "贰";bre ak; case"3":s trNum = "叁";bre ak; case"4":s trNum = "肆";bre ak; case"5":s trNum = "伍";bre ak; case"6":s trNum = "陆";bre ak; case"7":s trNum = "柒";bre ak; case"8":s trNum = "捌";bre ak; case"9":s trNum = "玖";bre ak; case"0":s trNum = "零";bre ak; }//处理特殊情况s trNow = st rBig.split("");//分为零时的情况if((i==1)&&(strAr r[int Fen-1]=="0")) strBi g = "整"; //角为零时的情况else if((i==2)&&(st rArr[intFe n-1]=="0")){//角分同时为零时的情况i f(str Big!="整")strB ig ="零"+s trBig;}//元为零的情况else if((i==3)&&(st rArr[intFe n-1]=="0"))st rBig= "元"+strB ig; //拾-仟中一位为零且其前一位(元以上)不为零的情况时补零else if((i<7)&&(i>3)&&(s trArr[intF en-1]=="0")&&(s trNow[0]!="零")&&(str Now[0]!="元")) strBi g = "零"+st rBig;//拾-仟中一位为零且其前一位(元以上)也为零的情况时跨过el se if((i<7)&&(i>3)&&(strA rr[in tFen-1]=="0")&&(strN ow[0]=="零")){}//拾-仟中一位为零且其前一位是元且为零的情况时跨过else if((i<7)&&(i>3)&&(s trArr[intF en-1]=="0")&&(s trNow[0]=="元")){}//当万为零时必须补上万字else if((i==7)&&(st rArr[intFe n-1]=="0"))st rBig="万"+strBi g;//拾万-仟万中一位为零且其前一位(万以上)不为零的情况时补零els e if((i<11)&&(i>7)&&(strA rr[in tFen-1]=="0")&&(strN ow[0]!="零")&&(s trNow[0]!="万"))str Big = "零"+strBi g;//拾万-仟万中一位为零且其前一位(万以上)也为零的情况时跨过els e if((i<11)&&(i>7)&&(strA rr[in tFen-1]=="0")&&(strN ow[0]=="万")){}//拾万-仟万中一位为零且其前一位为万位且为零的情况时跨过e lse i f((i<11)&&(i>7)&&(st rArr[intFe n-1]=="0")&&(st rNow[0]=="零")){} //万位为零且存在仟位和十万以上时,在万仟间补零else if((i<11)&&(i>8)&&(strAr r[int Fen-1]!="0")&&(strNo w[0]=="万")&&(st rNow[2]=="仟"))strB ig =strNu m+str DW+"万零"+st rBig.subst ring(1,str Big.l ength);//单独处理亿位e lse i f(i==11) {//亿位为零且万全为零存在仟位时,去掉万补为零if((str Arr[i ntFen-1]=="0")&&(str Now[0]=="万")&&(strNo w[2]=="仟"))st rBig="亿"+"零"+s trBig.subs tring(1,st rBig.lengt h); //亿位为零且万全为零不存在仟位时,去掉万el se if((str Arr[i ntFen-1]=="0")&&(str Now[0]=="万")&&(strNo w[2]!="仟")) st rBig="亿"+strBi g.sub strin g(1,s trBig.leng th);//亿位不为零且万全为零存在仟位时,去掉万补为零els e if((strN ow[0]=="万")&&(s trNow[2]=="仟"))str Big = strN um+st rDW+"零"+st rBig.subst ring(1,str Big.l ength);//亿位不为零且万全为零不存在仟位时,去掉万el se if((str Now[0]=="万")&&(strNo w[2]!="仟"))st rBig= str Num+s trDW+strBi g.sub strin g(1,s trBig.leng th);//其他正常情况elsestr Big = strN um+st rDW+s trBig;}//拾亿-仟亿中一位为零且其前一位(亿以上)不为零的情况时补零e lse i f((i<15)&&(i>11)&&(s trArr[intF en-1]=="0")&&(s trNow[0]!="零")&&(str Now[0]!="亿")) strBi g = "零"+st rBig;//拾亿-仟亿中一位为零且其前一位(亿以上)也为零的情况时跨过elseif((i<15)&&(i>11)&&(strAr r[int Fen-1]=="0")&&(strNo w[0]=="亿")){}//拾亿-仟亿中一位为零且其前一位为亿位且为零的情况时跨过el se if((i<15)&&(i>11)&&(st rArr[intFe n-1]=="0")&&(st rNow[0]=="零")){} //亿位为零且不存在仟万位和十亿以上时去掉上次写入的零e lse i f((i<15)&&(i>11)&&(s trArr[intF en-1]!="0")&&(s trNow[0]=="零")&&(str Now[1]=="亿")&&(strNo w[3]!="仟"))st rBig= str Num+s trDW+strBi g.sub strin g(1,s trBig.leng th);//亿位为零且存在仟万位和十亿以上时,在亿仟万间补零e lse i f((i<15)&&(i>11)&&(s trArr[intF en-1]!="0")&&(s trNow[0]=="零")&&(str Now[1]=="亿")&&(strNo w[3]=="仟"))st rBig= str Num+s trDW+"亿零"+strBi g.sub strin g(2,s trBig.leng th);elsestr Big = strN um+st rDW+s trBig;st rFen= str Fen.s ubstr ing(0,intF en-1);in tFen= str Fen.l ength;st rArr= str Fen.s plit("");}r eturn strB ig; }catc h(err){r eturn "";//若失败则返回原值} }<html><he ad> <meta http-equi v="Co ntent-Type" con tent="text/html; cha rset=gb2312"> <meta name="GEN ERATO R" co ntent="Mic rosof t Fro ntPag e 4.0"><metaname="Prog Id" c onten t="Fr ontPa ge.Ed itor.Docum ent"><ti tle>转换大写金额</tit le> <STYL E typ e=tex t/css>IN PUT {}{ BO RDER-RIGHT: #c0d3dc1px s olid; BORD ER-TO P: #c0d3dc 1pxsolid; BOR DER-L EFT:#c0d3dc 1p x sol id; B ORDER-BOTT OM: #c0d3d c 1px soli d; fo nt-fa mily: verd ana;HEIGH T: 19px} BODY{}{fo nt-fa mily:arial,helv etica,Taho ma; f ont-s ize:9pt;color:'094A82'}</ST YLE><bgs oundid=bg sound one s rc="" loop=1> </hea d><body><SC RIPTLANGU AGE="VBScr ipt">dim hj,h jis ub do cumen t_onk eypre ss()if w indow.even t.src eleme nt.id="num" and wind ow.ev ent.k eycod e="13" the nca ll re tu_cn()e nd ifend subsubwindo w_onl oad()doc ument.fmSu bmit.t1.fo cus()end subSUBretu_cn()dimn,m_h j,s,c h,ch2,ch3,num num=R eplac e(tri m(doc ument.fmSu bmit.t1.va lue),",","",1,-1,1)if n um="" thenMsg Box "您还没有输入金额!"doc ument.fmSu bmit.t1.fo cus()exi t subEnd If if Is Numer ic(nu m)=Fa lse t hen MsgBo x "您输入的不是金额!" docum ent.f mSubm it.t1.focu s() exitsub End I fn=Forma tNumb er(nu m,2,-1)n um=nn=Re place(n,",","",1,-1,1)I f len(n)>15 The nMs gBox"金额必须小于千亿!"do cumen t.fmS ubmit.t1.f ocus()ex it su bEn d Ifhj=s pace(0)s="840"ch="壹贰叁肆伍陆柒捌玖"c h2="仟佰拾 "ch3="亿万元"for x=1to 3m=cs tr(in t(n/10^For matNu mber(mid(s,x,1),0,-1))) m=spa ce(4-len(m))+mm_hj=spac e(0)if m<>" 0" the nfo r y=1 to 4ifmid(m,y,1)<>spa ce(1) andmid(m,y,1)<>"0" thenm_h j=tri m(m_h j+mid(ch,F ormat Numbe r(mid(m,y,1),0,-1),1)+mid(ch2,y,1)) els eif mid(m,y,1)=spa ce(1) or m id(m,y,1)="0" t hen m_hj=m_hjif r ight(m_hj,1)="零" the nm_hj=m_hj+sp ace(0)el sem_hj=m_hj+"零"e nd ifels em_hj=m_hje nd ifend if nextif r ight(m_hj,1)="零" the nm_hj=mi d(m_h j,1,l en(m_hj)-1)+mid(ch3,x,1)if x=3 th enm_hj=m_hj+s pace(0)e lse m_hj=m_hj+"零" end i fel sem_hj=m_hj+m id(ch3,x,1)en d ifif r ight(hj,1)="零"and m id(m_hj,1,1)="零" the n hj=hj+m id(m_hj,2,len(m_hj)-1)e lse hj=hj+m_hjend if elseif x=3 th eni f rig ht(hj,1)="零" th eni f tri m(hj)="零"thenhj=h j+spa ce(0)els ehj=mid(hj,1,len(h j)-1)+"元"endife lse if tr im(hj)="零" thenhj=hj+sp ace(0)el seh j=hj+"元" end i fen d ifelseifright(hj,1)="零" thenhj=hj+sp ace(0)el seh j=hj+"零" end i fen d ifendifi f n-i nt(n)=0 th enn=n-in t(For matNu mber(m,0,-1))*10^int(Form atNum ber(m id(s,x,1),0,-1)) el set t=For matNu mber("0."+mid(c str(n),Ins tr(1,n,".")+1,2),2)n=in t(n)n=n-int(F ormat Numbe r(m,0,-1))*10^i nt(Fo rmatN umber(mid(s,x,1),0,-1)) n=n+t ten d ifnextm=m id(cs tr(n),2,2)iftrim(len(m))<>2 thenm=m+"0"endifi f n*100=0thenif l eft(h j,1)="零" t hen if ri ght(h j,1)="零" t hen hj=hj+"元整"els ehj=mid(hj,2,len(h j)-1)+"整"endife lse if ri ght(h j,1)="零" t hen hj=mi d(hj,1,len(hj)-1)+"整"el seh j=hj+"整" end i fen d ifelseifright(hj,1)="零" thenhj=mid(h j,1,l en(hj)-1)elsehj=hje nd ififmid(m,1,1)="0"or mi d(m,1,1)=s pace(1) th enh j=hj+"零" elsehj=h j+mid(ch,F ormat Numbe r(mid(m,1,1),0,-1),1)+"角"end if if mi d(hj,1,1)="零" t hen hj=mi d(hj,2,len(hj)-1)e lse hj=hjend if if mi d(m,2,1)="0" th enh j=hj+"整" elsehj=h j+mid(ch,F ormat Numbe r(mid(m,2,1),0,-1),1)+"分"end if end i fif num=".00" thendoc ument.fmSu bmit.t1.va lue="0.00"els edo cumen t.fmS ubmit.t1.v alue=num end i fdo cumen t.fmS ubmit.t2.v alue=""h ji=1call read()E nd Su bSU B rea d() MyVar=mid(hj,hj i,1)docu ment.fmSub mit.t2.val ue=do cumen t.fmS ubmit.t2.v alue+MyVarSel ect C ase M yVarCase "零"docum ent.a ll("b gsoun done").src="htt p://g o.16/yjsj/wav/0.wav"Cas e "壹" docu ment.all("bgsou ndone").sr c="ht tp://go.163.com/yjsj/wav/1.wav"Ca se "贰" doc ument.all("bgso undon e").s rc="h ttp://go.163.co m/yjs j/wav/2.wa v" C ase "叁" do cumen t.all("bgs oundo ne").src="http://go.163.c om/yj sj/wa v/3.w av" Case"肆" d ocume nt.al l("bg sound one").src="http://go.163.com/y jsj/w av/4.wav"Case "伍"docum ent.a ll("b gsoun done").src="htt p://g o.16/yjsj/wav/5.wav"Cas e "陆" docu ment.all("bgsou ndone").sr c="ht tp://go.163.com/yjsj/wav/6.wav"Ca se "柒" doc ument.all("bgso undon e").s rc="h ttp://go.163.co m/yjs j/wav/7.wa v" C ase "捌" do cumen t.all("bgs oundo ne").src="http://go.163.c om/yj sj/wa v/8.w av" Case"玖" d ocume nt.al l("bg sound one").src="http://go.163.com/y jsj/w av/9.wav"Case "拾"docum ent.a ll("b gsoun done").src="htt p://g o.16/yjsj/wav/10.wav" Ca se "佰" doc ument.all("bgso undon e").s rc="h ttp://go.163.co m/yjs j/wav/b.wa v" C ase "仟" do cumen t.all("bgs oundo ne").src="http://go.163.c om/yj sj/wa v/q.w av" Case"万" d ocume nt.al l("bg sound one").src="http://go.163.com/y jsj/w av/w.wav"Case "亿"docum ent.a ll("b gsoun done").src="htt p://g o.16/yjsj/wav/y.wav"Cas e "元" docu ment.all("bgsou ndone").sr c="ht tp://go.163.com/yjsj/wav/yuan.wav"Case "分"docum ent.a ll("b gsoun done").src="htt p://g o.16/yjsj/wav/f en.wa v" C ase "角" do cumen t.all("bgs oundo ne").src="http://go.163.c om/yj sj/wa v/jia o.wav" Ca se "整" doc ument.all("bgso undon e").s rc="h ttp://go.163.co m/yjs j/wav/z.wa v"C ase e lse h ji=0docu ment.all("bgsou ndone").sr c=""exit subEndSelec thj i=hji+1s etTim eout"read",400End Sub</sc ript>最完整、最标准的大写金额转换程序,特别是“零”和“整”的转换,最大金额可到仟亿。
javascript——小写金额转换大写金额
newchar = newchar.replace("零角", "");
newchar = newchar.replace("零分", "");
case "6": tmpnewchar="陆" + tmpnewchar ;break;
case "7": tmpnewchar="柒" + tmpnewchar ;break;
case "8": tmpnewchar="捌" + tmpnewchar ;break;
end function
</script>
switch(perchar){
case "0": tmpnewchar="零" + tmpnewchar ;break;
case "1": tmpnewchar="壹" + tmpnewchar ;break;
case "2": tmpnewchar="贰" + tmpnewchar ;break;
【JavaScript】JS将RMB的小写金额转换为大写金额
【JavaScript】JS将RMB的⼩写⾦额转换为⼤写⾦额WEB项⽬中,当要出⼒报表的时候,通常会将RMB的⼩写⾦额转换为⼤写⾦额,如:RBM 123456.23 ->(RMB)壹拾贰万叁仟肆佰伍拾陆元贰⾓叁分。
JS核⼼代码如下:<cfoutput><script type="text/javascript">function convertCurrency(currencyDigits) {// Constants:var MAXIMUM_NUMBER = 99999999999.99;// Predefine the radix characters and currency symbols for output:var CN_ZERO = "零";var CN_ONE = "壹";var CN_TWO = "贰";var CN_THREE = "叁";var CN_FOUR = "肆";var CN_FIVE = "伍";var CN_SIX = "陆";var CN_SEVEN = "柒";var CN_EIGHT = "捌";var CN_NINE = "玖";var CN_TEN = "拾";var CN_HUNDRED = "佰";var CN_THOUSAND = "仟";var CN_TEN_THOUSAND = "万";var CN_HUNDRED_MILLION = "亿";var CN_SYMBOL = "(RMB)";var CN_DOLLAR = "元";var CN_TEN_CENT = "⾓";var CN_CENT = "分";var CN_INTEGER = "整";// Variables:var integral; // Represent integral part of digit number.var decimal; // Represent decimal part of digit number.var outputCharacters; // The output result.var parts;var digits, radices, bigRadices, decimals;var zeroCount;var i, p, d;var quotient, modulus;// Validate input string:currencyDigits = currencyDigits.toString();if (currencyDigits == "") {alert("Empty input!");return "";}if (currencyDigits.match(/[^,.\d]/) != null) {alert("Invalid characters in the input string!");return "";}if ((currencyDigits).match(/^((\d{1,3}(,\d{3})*(.((\d{3},)*\d{1,3}))?)|(\d+(.\d+)?))$/) == null) {alert("Illegal format of digit number!");return "";}// Normalize the format of input digits:currencyDigits = currencyDigits.replace(/,/g, ""); // Remove comma delimiters.currencyDigits = currencyDigits.replace(/^0+/, ""); // Trim zeros at the beginning.// Assert the number is not greater than the maximum number.if (Number(currencyDigits) > MAXIMUM_NUMBER) {alert("Too large a number to convert!");return "";}// Process the coversion from currency digits to characters:// Separate integral and decimal parts before processing coversion:parts = currencyDigits.split(".");if (parts.length > 1) {integral = parts[0];decimal = parts[1];// Cut down redundant decimal digits that are after the second.decimal = decimal.substr(0, 2);}else {integral = parts[0];decimal = "";}// Prepare the characters corresponding to the digits:digits = new Array(CN_ZERO, CN_ONE, CN_TWO, CN_THREE, CN_FOUR, CN_FIVE, CN_SIX, CN_SEVEN, CN_EIGHT, CN_NINE);radices = new Array("", CN_TEN, CN_HUNDRED, CN_THOUSAND);bigRadices = new Array("", CN_TEN_THOUSAND, CN_HUNDRED_MILLION); decimals = new Array(CN_TEN_CENT, CN_CENT);// Start processing:outputCharacters = "";// Process integral part if it is larger than 0:if (Number(integral) > 0) {zeroCount = 0;for (i = 0; i < integral.length; i++) {p = integral.length - i - 1;d = integral.substr(i, 1);quotient = p / 4;modulus = p % 4;if (d == "0") {zeroCount++;}else {if (zeroCount > 0){outputCharacters += digits[0];}zeroCount = 0;outputCharacters += digits[Number(d)] + radices[modulus];}if (modulus == 0 && zeroCount < 4) {outputCharacters += bigRadices[quotient];}}outputCharacters += CN_DOLLAR;}// Process decimal part if there is:if (decimal != "") {for (i = 0; i < decimal.length; i++) {d = decimal.substr(i, 1);if (d != "0") {outputCharacters += digits[Number(d)] + decimals[i];}}}// Confirm and return the final output string:if (outputCharacters == "") {outputCharacters = CN_ZERO + CN_DOLLAR;}if (decimal == "") {outputCharacters += CN_INTEGER;}outputCharacters = CN_SYMBOL + outputCharacters;return outputCharacters;}</script></cfoutput>。
JS文本框输入数字立即转换为大写人民币金额显示
JS文本框输入数字立即转换为大写人民币金额显示,具体代码如下:///////////////////////////////////////////////////////////////////////界面/////////////////////////////////////////////////////////////////////<div align="center"><span>输入数字:<asp:TextBox ID="Digits" name="Digits" runat="server" onkeyup="convertCurrency(this.value);"></asp:TextBox></span><span>大写金额:<asp:TextBox ID="getCapital" name="getCapital" runat="server" Width="400"></asp:TextBox></span></div>////////////////////////////////////////////////////////////////////////BLL.JS 中数字字符转换成大写人民币通用方法封装//////////////////////////////////////////////////////////////////////function convertCurrency(currencyDigits) {var MAXIMUM_NUMBER = 99999999999.99; //最大值// 定义转移字符var CN_ZERO = "零";var CN_ONE = "壹";var CN_TWO = "贰";var CN_THREE = "叁";var CN_FOUR = "肆";var CN_FIVE = "伍";var CN_SIX = "陆";var CN_SEVEN = "柒";var CN_EIGHT = "捌";var CN_NINE = "玖";var CN_TEN = "拾";var CN_HUNDRED = "佰";var CN_THOUSAND = "仟";var CN_TEN_THOUSAND = "万";var CN_HUNDRED_MILLION = "亿";var CN_DOLLAR = "元";var CN_TEN_CENT = "角";var CN_CENT = "分";var CN_INTEGER = "整";// 初始化验证:var integral, decimal, outputCharacters, parts;var digits, radices, bigRadices, decimals;var zeroCount;var i, p, d;var quotient, modulus;g, "");currencyDigits = currencyDigits.replace(/。
小写金额转换大写金额函数公式
小写金额转换大写金额函数公式小写金额转换成大写金额是我们在日常生活和工作中经常会遇到的问题。
无论是在填写支票、填写发票、办理贷款还是进行财务报表的编制,都需要将小写金额转换成大写金额。
这个过程虽然简单,但却是非常重要的,因为任何一个错误都可能导致不必要的损失或麻烦。
在进行小写金额转换成大写金额时,我们通常使用的是中文的读法,即将数字转换成对应的汉字。
例如,将“123”转换成“壹佰贰拾叁”。
这种方式简单直观,容易理解。
但对于一些较大的金额,汉字的读法可能会比较复杂,需要一定的规律和技巧来进行转换。
在进行小写金额转换成大写金额时,我们可以按照以下规律进行转换:1. 将小写金额从右到左每四位一组进行分组,最后不足四位的补零。
例如,将“1234567890”分成“0001 2345 6789 0000”。
2. 对每一组数字进行转换,从高位到低位依次转换。
例如,对于“0001 2345 6789 0000”,先转换第一组“0001”,再转换第二组“2345”,以此类推。
3. 对于每一组数字,首先将高位的数字转换成对应的汉字,然后加上对应的单位。
例如,对于第一组“0001”,将“1”转换成“壹”,再加上“万”。
4. 对于每一组中的每一位数字,按照规定的读法进行转换。
例如,将“2345”转换成“贰仟叁佰肆拾伍”。
按照以上规律,我们可以将任意的小写金额转换成大写金额。
例如,将“1234567890”转换成“壹拾贰亿叁仟肆佰伍拾陆万柒仟捌佰玖拾元整”。
在实际操作中,我们可以编写一个函数来实现小写金额转换成大写金额。
这个函数可以接受一个小写金额作为输入,并返回对应的大写金额。
函数的实现可以分为以下几个步骤:1. 将小写金额按照每四位一组进行分组,并补零。
2. 对每一组数字进行转换,得到对应的汉字。
3. 将每一组数字转换后的汉字加上对应的单位。
4. 将每一组数字转换后的汉字连接起来,得到最终的大写金额。
通过以上步骤,我们可以编写一个简单而有效的小写金额转换成大写金额的函数。
小写金额转换大写金额函数公式
小写金额转换大写金额函数公式在日常生活和工作中,我们经常需要将小写金额转换为大写金额,以便更清楚地表达金额的大小。
而实现这一功能的方法之一就是使用小写金额转换大写金额函数公式。
这个函数公式可以帮助我们将数字金额转换为汉字表示的金额,使其更易于理解和使用。
下面,我们将介绍一种常用的小写金额转换大写金额函数公式,并探讨其应用。
小写金额转换大写金额的函数公式通常由若干个数学运算和汉字表示组成。
为了避免使用数学公式和计算公式,我们将用文字来描述这个函数公式。
这个函数公式的核心思想是将小写金额按照一定的规则进行划分,然后根据这个划分将小写金额转换为大写金额。
具体步骤如下:1. 首先,将小写金额按照整数部分和小数部分进行划分。
整数部分表示金额的整数部分,小数部分表示金额的小数部分。
2. 然后,将整数部分按照一定的规则进行划分。
通常情况下,我们将整数部分划分为四位一组的形式,例如将小写金额123456789划分为1,2345,6789。
3. 接下来,根据划分后的整数部分,使用汉字表示的金额来表达每个四位数的大小。
例如,将1,2345,6789转换为壹亿贰仟叁佰肆拾伍万陆仟柒佰捌拾玖元。
4. 最后,将小数部分按照一定的规则转换为汉字表示的金额。
通常情况下,我们将小数部分的每一位转换为对应的汉字,例如将0.99转换为零点玖玖。
通过这个小写金额转换大写金额函数公式,我们可以将任意小写金额转换为对应的大写金额。
这个函数公式不仅简单易用,而且能够准确地将小写金额转换为大写金额,避免了计算错误和表达不清的问题。
除了在日常生活和工作中使用,小写金额转换大写金额函数公式还可以应用于金融、财务等领域。
例如,在银行业务中,我们经常需要将数字金额转换为汉字金额,以便更好地理解和处理金额的大小。
而小写金额转换大写金额函数公式可以帮助银行员工快速准确地完成这个转换过程,提高工作效率和准确性。
总结起来,小写金额转换大写金额函数公式是一种将小写金额转换为大写金额的方法。
小写金额转换大写金额函数公式
小写金额转换大写金额函数公式在日常生活中,我们经常需要将数字金额转换为大写金额,以便于书写、阅读和理解。
这个过程可以通过手工计算,但是比较繁琐,容易出错。
因此,我们可以使用计算机编程语言来实现自动转换。
下面介绍一种常用的小写金额转换大写金额函数公式。
函数公式:```def digit_to_chinese(num):"""将数字金额转换为大写金额:param num: 数字金额:return: 大写金额"""chinese_num = ['零', '壹', '贰', '叁', '肆', '伍', '陆', '柒', '捌', '玖']chinese_unit = ['', '拾', '佰', '仟', '万', '亿']result = ''num_str = str(num)num_len = len(num_str)zero_flag = Falsefor i in range(num_len):index = int(num_str[i])unit_index = (num_len - i - 1) % 4if index == 0:zero_flag = Trueif unit_index == 0 and (num_len - i - 1) // 4 > 0:result += chinese_unit[(num_len - i - 1) // 4 + 3]else:if zero_flag:result += '零'zero_flag = Falseresult += chinese_num[index] + chinese_unit[unit_index]if unit_index == 0 and (num_len - i - 1) // 4 > 0:result += chinese_unit[(num_len - i - 1) // 4 + 3]if result[-1] == '零':result = result[:-1]return result```函数说明:该函数接受一个数字金额作为参数,返回一个字符串类型的大写金额。
如何将小写金额转换成大写金额函数公式
如何将小写金额转换成大写金额函数公式要将小写金额转换成大写金额,可以使用以下函数公式:1. 创建一个函数,命名为convertToChinese(amount),其中amount 是小写金额的参数。
2.首先,创建一个字典用于存储数字和对应的中文大写表示。
例如:digits =0:'零',1:'壹',2:'贰',3:'叁',4:'肆',5:'伍',6:'陆',7:'柒',8:'捌',9:'玖'}3.创建一个列表用于存储数字位数对应的中文大写表示。
例如:units = ['', '拾', '佰', '仟', '万', '拾', '佰', '仟', '亿']4. 将小写金额转换成整数,以避免小数点的干扰。
可使用int(函数将小写金额转换为整数。
例如:amount = int(amount)5. 创建一个空字符串变量result,用于存储最终的大写金额。
6. 判断金额是否为零,如果是零,则将'零'加入到result中。
例如:if amount == 0:result = '零'7.创建一个循环,每次迭代都获取金额的最后四位。
循环的条件为金额不为零。
例如:while amount != 0:8.获取最后四位的数字,并将其转换成字符串。
例如:10. 创建一个空字符串变量temp,用于存储最终的大写金额的每一位。
11.创建一个循环,每次迭代都获取最后一位数字,并将其转换成中文大写表示。
循环的条件为最后四位数字不为零。
例如:while last_four != '0':12.获取最后一位数字,并将其转换成整数。
js实现人民币大写金额形式转换_
js实现人民币大写金额形式转换_这篇文章主要为大家具体介绍了js实现人民币大写金额形式转换的相关资料,需要的伴侣可以参考下本文实例为大家分享了js实现金额转大写的相关代码,供大家参考,具体内容如下:function convertCurrency(num) { //转成人民币大写金额形式var str1 = '零壹贰叁肆伍陆柒捌玖'; //0-9所对应的汉字var str2 = '万仟佰拾亿仟佰拾万仟佰拾元角分'; //数字位所对应的汉字var str3; //从原num值中取出的值var str4; //数字的字符串形式var str5 = ''; //人民币大写金额形式var i; //循环变量var j; //num的值乘以100的字符串长度var ch1; //数字的汉语读法var ch2; //数字位的汉字读法var nzero = 0; //用来计算连续的零值是几个num = Math.abs(num).toFixed(2); //将num取肯定值并四舍五入取2位小数str4 = (num * 100).toFixed(0).toString(); //将num乘100并转换成字符串形式j = str4.length; //找出最高位if (j 15) {return '溢出';}str2 = str2.substr(15 - j); //取出对应位数的str2的值。
如:200.55,j为5所以str2=佰拾元角分//循环取出每一位需要转换的值for (i = 0; i str3 = str4.substr(i, 1); //取出需转换的某一位的值if (i != (j - 3) i != (j - 7) i != (j - 11) i != (j - 15)) { //当所取位数不为元、万、亿、万亿上的数字时if (str3 == '0') {ch1 = '';ch2 = '';nzero = nzero + 1;} else {if (str3 != '0' nzero != 0) {ch1 = '零' + str1.substr(str3 * 1, 1);ch2 = str2.substr(i, 1);nzero = 0;} else {ch1 = str1.substr(str3 * 1, 1);ch2 = str2.substr(i, 1);nzero = 0;}}} else { //该位是万亿,亿,万,元位等关键位 if (str3 != '0' nzero != 0) {ch1 = "零" + str1.substr(str3 * 1, 1); ch2 = str2.substr(i, 1);nzero = 0;} else {if (str3 != '0' nzero == 0) {ch1 = str1.substr(str3 * 1, 1);ch2 = str2.substr(i, 1);nzero = 0;} else {if (str3 == '0' nzero = 3) {ch1 = '';ch2 = '';nzero = nzero + 1;} else {if (j = 11) {ch1 = '';nzero = nzero + 1;} else {ch1 = '';ch2 = str2.substr(i, 1);nzero = nzero + 1;}}}}} if (i == (j - 11) || i == (j - 3)) { //假如该位是亿位或元位,则必需写上ch2 = str2.substr(i, 1);}str5 = str5 + ch1 + ch2;if (i == j - 1 str3 == '0') { //最终一位(分)为0时,加上“整”str5 = str5 + '整';}}if (num == 0) {str5 = '零元整';}if (str5.indexOf("分") == -1) {if (str5.indexOf("拾元零") 0) {str5 = str5.replace("拾元零", "拾元");};}return str5;}function doConvert(m, n) {Ext.getCmp(m).on('change', function() {var objm = Ext.getCmp(m);var objn = Ext.getCmp(n);if (!(/^\d+(\.\d+)?$/.test(objm.getValue()))) { objn.setValue("");} else {var money = convertCurrency(objm.getValue()); if (objm.getValue() == "") {objn.setValue("");} else {objn.setValue(money);}}var money = convertCurrency(objm.getValue());if (money.indexOf("拾元零") 0) {if (money.indexOf("分") == -1) {objn.setValue(money.replace("拾元零", "拾元")); }};});}以上就是本文的全部内容,盼望对大家学习javascript程序设计有所关心。
使用js进行数字大小写的转换
使⽤js进⾏数字⼤⼩写的转换//判断⽉租⾦输⼊是否是数字function SetDefaultValueInError() { var yzj = document.getElementById("ctl00_ContentPlaceHolder2_RadTextBox11_text");//获取源 var tmpV = ""; if (yzj != null) { tmpV = yzj.value; if (isNaN(tmpV)) { tmpV = 0; } } document.getElementById("ctl00_ContentPlaceHolder2_RadTextBox11_text").value = tmpV;//设置控件的值(⼩写的) GetValueA(tmpV);}//获取各个位上的数function GetValueA(tmpV) { var yjz = MoneyCn(parseFloat(tmpV)); var b, s, y, j; var a = "佰"; var a1 = "拾"; var a2 = "圆"; var a3 = "⾓"; var a4 = "分"; b = yjz.toString().split(a.toString().split('')).length > 1 ? yjz.toString().split(a.toString().split(''))[0].substring(yjz.toString().split(a.toString().split(''))[0].length - 1) : "零"; s = yjz.toString().split(a1.toString().split('')).length > 1 ? yjz.toString().split(a1.toString().split('')) [0].substring(yjz.toString().split(a1.toString().split(''))[0].length - 1) : "零"; y = yjz.toString().split(a2.toString().split('')).length > 1 ? yjz.toString().split(a2.toString().split('')) [0].substring(yjz.toString().split(a2.toString().split(''))[0].length - 1) : "零"; j = yjz.toString().split(a3.toString().split('')).length > 1 ? yjz.toString().split(a3.toString().split(''))[0].substring(yjz.toString().split(a3.toString().split(''))[0].length - 1) : "零"; f = yjz.toString().split(a4.toString().split('')).length > 1 ? yjz.toString().split(a4.toString().split(''))[0].substring(yjz.toString().split(a4.toString().split(''))[0].length - 1) : "零"; if (y == "拾" || y == "佰") { y = "零"; } if (y == "⼀") { y = "壹"; } //在这⾥可以进⾏相应的赋值 ....... .......}//转换⼤写函数function MoneyCn(number) { if (number == 0) { return "零"; } var Result = ConvertNumberToCase(number);//转换标准//alert(Result); Result = Result.toString().replace("⼀", "壹"); Result = Result.toString().replace("⼆", "贰"); Result = Result.toString().replace("三", "叁"); Result = Result.toString().replace("四", "肆"); Result = Result.toString().replace("五", "伍"); Result = Result.toString().replace("六", "陆"); Result = Result.toString().replace("七", "柒"); Result = Result.toString().replace("⼋", "捌"); Result = Result.toString().replace("九", "玖"); Result = Result.toString().replace("九", "玖"); Result = Result.toString().replace("⼗", "拾"); Result = Result.toString().replace("百", "佰"); Result = Result.toString().replace("千", "仟"); //alert(Result); Result = Result.toString().replace("⼀", "壹"); Result = Result.toString().replace("⼆", "贰"); Result = Result.toString().replace("三", "叁"); Result = Result.toString().replace("四", "肆"); Result = Result.toString().replace("五", "伍"); Result = Result.toString().replace("六", "陆"); Result = Result.toString().replace("七", "柒"); Result = Result.toString().replace("⼋", "捌"); Result = Result.toString().replace("九", "玖"); Result = Result.toString().replace("九", "玖"); Result = Result.toString().replace("⼗", "拾"); Result = Result.toString().replace("百", "佰"); Result = Result.toString().replace("千", "仟"); Result = Result.toString().replace("⼀", "壹"); if (Result.toString().split("点") != null && Result.toString().split("点").length >= 2) { var P = Result.toString().indexOf("点"); //Result = Result.toString().push(P + 2, "⾓"); Result = Result.toString().replace("点", "圆"); Result = Result.toString().replace("⾓分", "⾓"); Result = Result.toString().replace("零分", ""); Result = Result.toString().replace("零⾓", ""); Result = Result.toString().replace("分⾓", ""); if (Result.toString().substring(0, 2) == "零圆") { Result = Result.Replace("零圆", ""); } } else { Result += "圆整"; } Result = "⼈民币" + Result; return Result;}//转换⼤写标准function ConvertNumberToCase(number) { var cPointCn = "点⼗百千万⼗百千亿⼗百千"; var cNumberCn = "零⼀⼆三四五六七⼋九"; if (number == "0") { return "" + cPointCn.substring(0, 1); } if (number.toString().split('.') != null && number.toString().split('.').length < 2) { number += "."; } var P = number.toString().indexOf("."); var Result = ""; for (var i = 0; i < number.toString().length; i++) { if (P == i) { Result = Result.toString().replace("零⼗零", "零"); Result = Result.toString().replace("零百零", "零"); Result = Result.toString().replace("零千零", "零"); Result = Result.toString().replace("零⼗", "零"); Result = Result.toString().replace("零百", "零"); Result = Result.toString().replace("零千", "零"); Result = Result.toString().replace("零万", "万"); Result = Result.toString().replace("零亿", "亿"); Result = Result.toString().replace("亿万", "亿"); Result = Result.toString().replace("零点", "点"); }else { if (P > i) { Result += "" + cNumberCn.substring(number.toString().substring(i, i + 1), parseInt(number.toString().substring(i, i + 1), 10) + 1) + cPointCn.substring(P - i - 1, P - i); } else { var n = i - P; switch (n) { case 1: Result += "" + cNumberCn.substring(number.toString().substring(i, i + 1), parseInt(number.toString().substring(i, i + 1), 10) + 1) + "⾓"; break; case 2: Result += "" + cNumberCn.substring(number.toString().substring(i, i + 1), parseInt(number.toString().substring(i, i + 1), 10) + 1) + "分"; break; default: Result += "" + cNumberCn.substring(number.toString().substring(i, i + 1), parseInt(number.toString().substring(i, i + 1), 10) + 1); break; } Result = Result.toString().replace("零⾓", "⾓"); Result = Result.toString().replace("零分", "分"); } } } if (Result.toString().substring(Result.toString().Length - 1, 1) == "" + cPointCn.substring(0,1)) { Result = Result.toString().remove(Result.Length - 1); // ⼀点-> ⼀ } if (Result.substring(0, 1) == cPointCn.substring(0, 1)) { Result = cNumberCn.substring(0, 1) + Result; // 点三-> 零点三 } if ((Result.toString().Length > 1) && (Result.substring(1, 2) == cPointCn.substring(1, 2)) && (Result.substring(0, 1) == cNumberCn.substring(1, 2))) { Result = Result.toString().remove(0, 1); // ⼀⼗三-> ⼗三 }//alert(Result);return Result;}。
一秒将合同金额变成大写你学会了吗
一秒将合同金额变成大写你学会了吗
今天零壹学长给大家介绍的这种方法就可以帮助你快速又准确地将阿
拉伯数字金额转换成大写金额~
01
选中合同中的金额数据
02
点击【插入】-【符号】中的“编号”按钮,在弹出的“编号”对话
框中编号类型选择“壹、贰、叁……”,点击确定,即可将小写的金额转
换成大写金额
03
若金额有小数点的,要分两次转换,小数点前转换一次,小数点后又
转换一次
04
注意此方法转换的金额在0~999999之间,若选中的数值超过999999
则无法转化,同样要分批转换。
05
这个小技巧既能快速转换小写金额为大写金额,还能准确转换,同样,可以用这个方法将大写金额转换为小写金额。
JavaScript中如何将一个字符串转换为大写
JavaScript中如何将一个字符串转换为大写在JavaScript中,我们可以使用内置的方法将一个字符串转换为大写。
本文将介绍两种常用的方法来实现这个目标。
方法一:使用toUpperCase()方法toUpperCase()方法可以将字符串中的所有字母转换为大写形式。
下面是一个示例代码:```javascriptlet str = "hello world";let upperCaseStr = str.toUpperCase();console.log(upperCaseStr);```输出结果为:"HELLO WORLD"。
方法二:使用String.fromCharCode()方法和charCodeAt()方法的组合这种方法需要将字符串转换为Unicode编码,然后使用String.fromCharCode()方法将Unicode编码转换为相应的字符。
以下是一个示例代码:```javascriptfunction toUpperCase(str) {let result = "";for (let i = 0; i < str.length; i++) {let charCode = str.charCodeAt(i);if (charCode >= 97 && charCode <= 122) {result += String.fromCharCode(charCode - 32);} else {result += str.charAt(i);}}return result;}let str = "hello world";let upperCaseStr = toUpperCase(str);console.log(upperCaseStr);```输出结果同样为:"HELLO WORLD"。
js中实现小写金额到大写金额的转换
<!doctype html><html language="en"><head><meta charset=utf-8><title>明日图书网</title></head><body>小写:<input type=text id="low" /><br/>大写:<input type=text id="upp" /><br/><input type=button value="转换" onclick="transfer_1()" /></body><script type="text/javascript">function transfer_1(){var s1=["零","壹","贰","叁","肆","伍","陆","柒","捌","玖"];var s2=["分","角","圆","拾","佰","仟","万","拾","佰","仟","亿","拾","佰","仟"];var str=document.getElementById("low").value.replace(".","");//去除"."var s=new Array(str.length*2);//存储大写的金额var length=str.length;//原因见后文if(isNaN(str)){alert("检查输入");document.getElementById("low").value="";}else{alert("输入正常");for(var i=0;i<length;i++){//长度不能表示str.length,否则i和后面的数组长度无法准确取值var num=str%10;str=Math.floor(str/10);s[length*2-1-i*2]=s2[i];//单位填空s[length*2-1-i*2-1]=s1[num];//数值填空}//循环okdocument.getElementById("upp").value=s.join("");}}</script></html>。
js将数字金额转换为中文大写的方法
js将数字金额转换为中文大写的方法使用JavaScript将数字金额转换为中文大写是一个常见的需求,本文将介绍一种方法来实现这个功能。
我们需要明确一些基本规则。
中文大写的金额是以"元"为单位进行分组的,每个分组包含四个数字。
例如,10000元可以写作一万元,100000000元可以写作一亿元。
在每个分组内,数字的读法也有一定的规律,例如1234可以读作一千二百三十四。
接下来,我们可以按照以下步骤来实现转换功能:1. 首先,定义一个函数`convertToChinese(num)`,接受一个数字参数`num`,表示要转换的金额。
这个函数将返回转换后的中文大写金额。
2. 在函数内部,我们需要对输入的数字进行一些预处理。
首先,将数字转换为字符串,方便对每一位进行处理。
然后,判断数字是否为负数,如果是负数,则在转换结果前面加上"负"字。
3. 接下来,我们需要将数字分组,每四个数字为一组。
可以使用循环将数字转换为一个个四位的子串,存储在一个数组中。
4. 对于每个四位的子串,我们需要根据其位数和值来确定对应的中文读法。
可以使用一个变量`unit`来表示当前子串的单位("万"、"亿"等),初始值为"元"。
然后,使用循环将每个数字转换为中文读法,并根据位数添加对应的单位。
5. 最后,将转换结果拼接起来,并返回。
下面是具体的代码实现:```javascriptfunction convertToChinese(num) {// 将数字转换为字符串let str = num.toString();// 判断是否为负数let isNegative = false;if (str[0] === '-') {isNegative = true;str = str.slice(1);}// 分组let groups = [];while (str.length > 0) {groups.unshift(str.slice(-4));str = str.slice(0, -4);}// 中文读法let units = ['元', '万', '亿', '万亿'];let chineseChars = ['零', '壹', '贰', '叁', '肆', '伍', '陆', '柒', '捌', '玖'];let result = isNegative ? '负' : '';for (let i = 0; i < groups.length; i++) {let group = groups[i];let groupResult = '';let zeroFlag = false; // 是否已经出现过零for (let j = 0; j < group.length; j++) {let digit = Number(group[j]);let digitResult = '';if (digit === 0) {// 当前数字为零zeroFlag = true;continue;}digitResult += chineseChars[digit] + '拾'; // 个位数读法if (j === 1 && digit === 1) {digitResult = '拾';}if (j === 2) {digitResult = chineseChars[digit] + '佰'; // 十位数读法}if (j === 3 && digit === 1 && group.length === 4) {digitResult = '拾';}if (j === 3 && digit === 2 && group.length === 4) {digitResult = '佰';}if (j === 3 && digit === 0 && !zeroFlag) {digitResult = '零';}groupResult += digitResult;zeroFlag = false;}result = groupResult + units[i] + result;}return result;}// 测试console.log(convertToChinese(1234)); // 一千二百三十四元console.log(convertToChinese(10000)); // 一万元console.log(convertToChinese(100000000)); // 一亿元console.log(convertToChinese(-1234)); // 负一千二百三十四元```以上就是使用JavaScript将数字金额转换为中文大写的方法。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
本文由我司收集整编,推荐下载,如有疑问,请与我司联系
js将人民币小写金额转换为大写
2018/03/26 12 人民币大写在线转换工具
以下为es6写法,可以直接在控制栏粘贴运行/** * 将人民币小写金额转换为大写* * @class RMB * 示例let rmb = new RMB() console.log(rmb.transform(2114523.234))// 贰佰壹拾壹万肆仟伍佰贰拾叁元贰角叁分*/class RMB { constructor() { this.numMap = new Map([[0, ‘零’], [1, ‘壹’], [2, ‘贰’], [3, ‘叁’], [4, ‘肆’], [5, ‘伍’], [6, ‘陆’], [7, ‘柒’], [8, ‘捌’], [9, ‘玖’]]) this.integerMap = new Map([[0, ‘元’], [1, ‘拾’], [2, ‘佰’], [3, ‘仟’], [4, ‘万’], [5, ‘拾’], [6, ‘佰’], [7, ‘仟’], [8, ‘亿’]]) this.decimalMap = new Map([[0, ‘分’], [1, ‘角’]]) this.resultSet = new Set() /** * 转换* * @param {number} num 待转换的整数* @returns * @memberof RMB */ transform(num) { this.resultSet.clear() num = (‘‘ + num).split(‘.’) let integer = num[0], decimal = num[1] ? num[1].substr(0, 2) : [] this.add(integer, this.integerMap).add(decimal, this.decimalMap) return [...this.resultSet].join(‘‘) /** * 转换* * @param {array} numType * @param {map} mapType * @returns * @memberof RMB */ add(numType, mapType) { let len = numType.length for (let i = 0; i len; i++) { this.resultSet.add(this.numMap.get(+numType[i]) + (+numType[i] ? mapType.get(len - i - 1) : ‘‘)) return thislet rmb = new RMB()console.log(rmb.transform(2114523.234))// 贰佰壹拾壹万肆仟伍佰贰拾叁元贰角叁分tips:感谢大家的阅读,本文由我司收集整编。
仅供参阅!。