JS案例分享之金额小写转大写


Posted in Javascript onMay 15, 2014

之前做项目的时候遇到需要在输入小写金额之后自动转成大写,经过一番研究,整出了如下代码,分享给大家,希望有所帮助

function Arabia_to_Chinese(Num){ 
for(i=Num.length-1;i>=0;i--) 
{ 
Num = Num.replace(",","") 
Num = Num.replace(" ","") 
} 
Num = Num.replace("¥","") 
if(isNaN(Num)) { 
alert("请检查小写金额是否正确"); 
return; 
} 
part = String(Num).split("."); 
newchar = ""; 
for(i=part[0].length-1;i>=0;i--){ 
if(part[0].length > 10){ alert("位数过大,无法计算");return "";} 
tmpnewchar = "" 
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; 
} 
if(Num.indexOf(".")!=-1){ 
if(part[1].length > 2) { 
part[1] = part[1].substr(0,2) 
} 
for(i=0;i<part[1].length;i++){ 
tmpnewchar = "" 
perchar = part[1].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; 
} 
if(i==0)tmpnewchar =tmpnewchar + "角"; 
if(i==1)tmpnewchar = tmpnewchar + "分"; 
newchar = newchar + tmpnewchar; 
} 
} 
while(newchar.search("零零") != -1) 
newchar = newchar.replace("零零", "零"); 
newchar = newchar.replace("零亿", "亿"); 
newchar = newchar.replace("亿万", "亿"); 
newchar = newchar.replace("零万", "万"); 
newchar = newchar.replace("零元", "元"); 
newchar = newchar.replace("零角", ""); 
newchar = newchar.replace("零分", ""); 
if (newchar.charAt(newchar.length-1) == "元" || newchar.charAt(newchar.length-1) == "角") 
newchar = newchar+"整" 
return newchar; 
}
Javascript 相关文章推荐
js实现的网站首页随机公告随机公告
Mar 14 Javascript
JS对字符串编码的几种方式使用指南
May 14 Javascript
jquery mobile 移动web(5)
Dec 20 Javascript
jquery ajax局部加载方法详解(实现代码)
May 12 Javascript
JS修改地址栏参数实例代码
Jun 14 Javascript
jQuery实现表格奇偶行显示不同背景色 就这么简单
Mar 13 Javascript
js中作用域的实例解析
Mar 16 Javascript
ES6学习教程之对象的扩展详解
May 02 Javascript
Vue2.0 多 Tab切换组件的封装实例
Jul 28 Javascript
js中apply()和call()的区别与用法实例分析
Aug 14 Javascript
javascript实现点击星星小游戏
Dec 24 Javascript
JS前端使用canvas实现物体的点选示例
Aug 05 Javascript
自写的jQuery异步加载数据添加事件
May 15 #Javascript
js子页面获取父页面数据示例
May 15 #Javascript
js获取url中&quot;?&quot;后面的字串方法
May 15 #Javascript
javascript实例--教你实现扑克牌洗牌功能
May 15 #Javascript
javascript常用的正则表达式实例
May 15 #Javascript
js生成缩略图后上传并利用canvas重绘
May 15 #Javascript
Jquery性能优化详解
May 15 #Javascript
You might like
Win9x/ME下Apache+PHP安装配置
2006/10/09 PHP
php部分常见问题总结
2008/03/27 PHP
splice slice区别
2006/10/09 Javascript
基于jQuery试卷自动排版系统
2010/07/18 Javascript
showModelDialog弹出文件下载窗口的使用示例
2013/11/19 Javascript
javascript中不等于的代码是什么怎么写
2013/12/29 Javascript
用jquery的方法制作一个简单的导航栏
2014/06/23 Javascript
node.js中的fs.readFile方法使用说明
2014/12/15 Javascript
用Move.js配合创建CSS3动画的入门指引
2015/07/22 Javascript
jQuery的图片轮播插件PgwSlideshow使用详解
2016/08/11 Javascript
实例分析nodejs模块xml2js解析xml过程中遇到的坑
2017/03/18 NodeJs
深入对Vue.js $watch方法的理解
2017/03/20 Javascript
JavaScript实现网页头部进度条刷新
2017/04/16 Javascript
nodejs入门教程五:连接数据库的方法分析
2017/04/24 NodeJs
解决vue中无法动态修改jqgrid组件 url地址的问题
2018/03/01 Javascript
4个顶级开源JavaScript图表库
2018/09/29 Javascript
Koa代理Http请求的示例代码
2018/10/10 Javascript
vue和H5 draggable实现拖拽并替换效果
2020/07/29 Javascript
[03:16]DOTA2完美大师赛主赛事首日集锦
2017/11/23 DOTA
[00:32]2018DOTA2亚洲邀请赛OpTic出场
2018/04/03 DOTA
Python中的anydbm模版和shelve模版使用指南
2015/07/09 Python
python制作图片缩略图
2019/04/30 Python
python实现五子棋游戏
2019/06/18 Python
Python 的字典(Dict)是如何存储的
2019/07/05 Python
python实现树的深度优先遍历与广度优先遍历详解
2019/10/26 Python
Python文本文件的合并操作方法代码实例
2020/03/31 Python
Django ORM 查询表中某列字段值的方法
2020/04/30 Python
Python3 pyecharts生成Html文件柱状图及折线图代码实例
2020/09/29 Python
HTML5的结构和语义(4):语义性的内联元素
2008/10/17 HTML / CSS
THE OUTNET英国官网:国际设计师品牌折扣网站
2016/08/14 全球购物
学生自我鉴定模板
2013/12/30 职场文书
浪费资源的建议书
2014/03/12 职场文书
师德演讲稿范文
2014/05/06 职场文书
2019通用版导游词范本!
2019/08/07 职场文书
使用Golang的channel交叉打印两个数组的操作
2021/04/29 Golang
css清除浮动clearfix:after的用法详解(附完整代码)
2023/05/21 HTML / CSS