首页 > 其他分享 >js完美转换阿拉伯数字为数字繁写

js完美转换阿拉伯数字为数字繁写

时间:2022-12-05 15:56:26浏览次数:40  
标签:case tmpnewchar 阿拉伯数字 js break newchar perchar Num 繁写

//阿拉伯数字转换为简写汉字 function Arabia_To_SimplifiedChinese(Num) {     for (var i = Num.length - 1; i >= 0; i--) {         Num = Num.replace(",", "")//替换Num中的“,”         Num = Num.replace(" ", "")//替换Num中的空格     }         if (isNaN(Num)) { //验证输入的字符是否为数字         //alert("请检查小写金额是否正确");         return;     }     //字符处理完毕后开始转换,采用前后两部分分别转换     var part = String(Num).split(".");     var newchar = "";     //小数点前进行转化     for (var i = part[0].length - 1; i >= 0; i--) {         if (part[0].length > 10) {             //alert("位数过大,无法计算");             return "";         }//若数量超过拾亿单位,提示         var tmpnewchar = ""         var perchar = part[0].charAt(i);          switch (perchar) {           case "0":             tmpnewchar = "零" + tmpnewchar;             break;           case "1":             tmpnewchar = "壹" + tmpnewchar;             break;           case "2":             tmpnewchar = "贰" + tmpnewchar;             break;           case "3":             tmpnewchar = "叁" + tmpnewchar;             break;           case "4":             tmpnewchar = "肆" + tmpnewchar;             break;           case "5":             tmpnewchar = "伍" + tmpnewchar;             break;           case "6":             tmpnewchar = "陆" + tmpnewchar;             break;           case "7":             tmpnewchar = "柒" + tmpnewchar;             break;           case "8":             tmpnewchar = "捌" + tmpnewchar;             break;           case "9":             tmpnewchar = "玖" + tmpnewchar;             break;         }         switch (part[0].length - i - 1) {           case 0:             tmpnewchar = tmpnewchar;             break;           case 1:             if (perchar != 0) tmpnewchar = tmpnewchar + "拾";             break;           case 2:             if (perchar != 0) tmpnewchar = tmpnewchar + "佰";             break;           case 3:             if (perchar != 0) tmpnewchar = tmpnewchar + "仟";             break;           case 4:             tmpnewchar = tmpnewchar + "万";             break;           case 5:             if (perchar != 0) tmpnewchar = tmpnewchar + "拾";             break;           case 6:             if (perchar != 0) tmpnewchar = tmpnewchar + "佰";             break;           case 7:             if (perchar != 0) tmpnewchar = tmpnewchar + "仟";             break;           case 8:             tmpnewchar = tmpnewchar + "亿";             break;           case 9:             tmpnewchar = tmpnewchar + "拾";             break;         }         newchar = tmpnewchar + newchar;     }       //替换所有无用汉字,直到没有此类无用的数字为止     while (newchar.search("零零") != -1 || newchar.search("零亿") != -1 || newchar.search("亿万") != -1 || newchar.search("零万") != -1) {         newchar = newchar.replace("零亿", "亿");         newchar = newchar.replace("亿万", "亿");         newchar = newchar.replace("零万", "万");         newchar = newchar.replace("零零", "零");           }     //替换以“一十”开头的,为“十”     if (newchar.indexOf("一十") == 0) {         newchar = newchar.substr(1);     }     //替换以“零”结尾的,为“”     if (newchar.lastIndexOf("零") == newchar.length - 1) {         newchar = newchar.substr(0, newchar.length - 1);     }     return newchar; }

标签:case,tmpnewchar,阿拉伯数字,js,break,newchar,perchar,Num,繁写
From: https://www.cnblogs.com/shenbo666/p/16952522.html

相关文章

  • 用NetCore + ReactJS 实现一个前后端分离的网站 (5) 日志 - log4net & AOP切面编程
    用NetCore+ReactJS实现一个前后端分离的网站(5)日志-log4net&AOP切面编程1.前言日志始终是跟踪与调试程序的最佳手段,因为调试难以溯及既往,而日志则能忠实地记......
  • JS获取数组中元素的最大值
    方法1:Math.max.apply()Math.max()方法默认接收多个参数并返回最大值,而apply()方法接收一个数组,将数组中的每一项作为参数传给调用函数,搭配使用可以得到最大值。const......
  • node js的token生成与验证之“jsonwebtoken“
    ❤️在繁华中自律,在落魄中自愈❤️目录​​一、生成token​​​​二、验证token​​​​三、完整的jwt.js代码​​​​四、配合express使用token验证​​​​五、/api/login接......
  • 前端知识-06-JSON
    什么是JSON?JSON指的是JavaScript对象表示法(JavaScript Object Notation)JSON是轻量级的文本数据交换格式JSON独立于语言 *JSON具有自我描述性,更易理解* ......
  • node js解码base回二进制
    直接贴代码icon_file=icon_file.split(',')[1]icon_file=Buffer.from(icon_file,'base64')icon_file=icon_file.toString('binary')注意:ba......
  • (转)JS核心系列:浅谈函数的作用域
    一、作用域(scope)所谓作用域就是:变量在声明它们的函数体以及这个函数体嵌套的任意函数体内都是有定义的。复制代码1functionscope(){2varfoo="global";3if(windo......
  • extjs4,spring mvc3上传文件
    本文讲解下extjs4结合springmvc3的注解完成上传文件的例子。1页面文件  <!--ExtJSFiles--><linkrel="stylesheet"type="text/css......
  • 几款JS 框架介绍和比较
     目前来看,JS框架以及一些开发包和库类有如下几个:Dojo、Scriptaculous、Prototype、yui-ext、Jquery、Mochikit、mootools、moo.fx。 Dojo(JS li......
  • 利用jsjiami保护我们的代码成果
    前言之前看到某程序员因为公司的业务需求作为驱动力而开发的一款工具,可以将json转换为sql语句。只看了个标题和demo,没细致看,估计大致实现流程如下。将json串转化为json对象,......
  • 制作nodejs镜像
    DockerfileFROMubuntu:22.04#wgethttps://nodejs.org/dist/v16.17.0/node-v16.17.0-linux-x64.tar.gz#wgethttps://github.com/yarnpkg/yarn/releases/download/v......