码迷,mamicode.com
首页 > 其他好文 > 详细

如何将人民币数字转为大写

时间:2019-03-08 17:00:26      阅读:139      评论:0      收藏:0      [点我收藏+]

标签:UNC   ever   pre   return   rev   ice   efi   直接   ++   

 废话不说,直接上代码,实现传入数字输出人民币大写

    let num="5556.4"
      console.log(numTocoggle(num))
      function numTocoggle(num){
      	 var regexp=/^\d+(([.]{1}(\d{0,2}))+){0,1}$/
      	 if(regexp.test(num)){
	      	/* 壹佰贰拾叁亿   伍仟陆佰捌拾捌万   捌仟伍佰伍拾伍元    伍角叁分*/
	        let digital=["零","壹","贰","叁","肆","伍","陆","柒","捌","玖"];
	        let unit=[[‘元‘,‘万‘, ‘亿‘],[‘‘,‘拾‘,‘佰‘,‘仟‘]];
	        let decimalUnit=[‘角‘,‘分‘]
	        let [key,val]=num.split(".");
	        let str=‘‘
	        let keys=key.split("").reverse()
	        let result=[]
	        let index=0;
		    while(index<keys.length) {
		       result.push(keys.slice(index,index+=4));
		    }
	        for(let h=result.length-1;h>=0;h--){
	           let numstr=‘‘
	          for(let k=result[h].length-1;k>=0;k--){
	          	 numstr+=digital[result[h][k]]+unit[1][k]	 
	          }
	          str+=numstr+unit[0][h]
	        }
	        if(val!=undefined){
	           let valString=val.toString();
	           for(var i=0;i<valString.length;i++){
	        	 str+=(digital[valString[i]]+decimalUnit[i])
	           }
	        }
          return str; 
         }else{
         	return "请输入正确的数字并保留两位小数";
         }
      }

  

如何将人民币数字转为大写

标签:UNC   ever   pre   return   rev   ice   efi   直接   ++   

原文地址:https://www.cnblogs.com/qianduanshouzwangzhe/p/10496294.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!