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 相关文章推荐
JQuery 选择器、过滤器介绍
Feb 14 Javascript
IE 当eval遇上function的处理
Aug 09 Javascript
在javascript中关于节点内容加强
Apr 11 Javascript
用示例说明filter()与find()的用法以及children()与find()的区别分析
Apr 26 Javascript
jquery.post用法之type设置问题
Feb 24 Javascript
vue内置指令详解
Apr 03 Javascript
vue 实现左右拖拽元素并且不超过他的父元素的宽度
Nov 30 Javascript
微信小程序在地图选择地址并返回经纬度简单示例
Dec 03 Javascript
vue封装一个简单的div框选时间的组件的方法
Jan 06 Javascript
vue-cli3 DllPlugin 提取公用库的方法
Apr 24 Javascript
vue swipe自定义组件实现轮播效果
Jul 03 Javascript
Layui 数据表格批量删除和多条件搜索的实例
Sep 04 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
Banner程序
2006/10/09 PHP
实现 win2003 下 mysql 数据库每天自动备份
2006/12/06 PHP
解析centos中Apache、php、mysql 默认安装路径
2013/06/25 PHP
PHP_Cooikes不同页面无法传递的解决方法
2014/03/07 PHP
PHP将回调函数作用到给定数组单元的方法
2014/08/19 PHP
php合并数组中相同元素的方法
2014/11/13 PHP
php官方微信接口大全(微信支付、微信红包、微信摇一摇、微信小店)
2015/12/21 PHP
获取Javscript执行函数名称的方法
2006/12/22 Javascript
JavaScript中实现块作用域的方法
2010/04/01 Javascript
ASP.NET中使用后端代码注册脚本 生成JQUERY-EASYUI的界面错位的解决方法
2010/06/12 Javascript
Javascript 静态页面实现随机显示广告的办法
2010/11/17 Javascript
fancybox modal的完美解决(右上的X)
2012/10/30 Javascript
JavaScript中的全局对象介绍
2015/01/01 Javascript
AngularJS使用angular-formly进行表单验证
2015/12/27 Javascript
jQuery中的ready函数与window.onload谁先执行
2016/06/21 Javascript
JavaScript中的Reflect对象详解(ES6新特性)
2016/07/22 Javascript
jQuery可见性过滤选择器用法示例
2016/09/09 Javascript
js实现一个猜数字游戏
2017/03/31 Javascript
详解vue项目中如何引入全局sass/less变量、function、mixin
2018/06/02 Javascript
关于vue-cli 3配置打包优化要点(推荐)
2019/04/22 Javascript
nodejs中各种加密算法的实现详解
2019/07/11 NodeJs
浅谈微信小程序列表埋点曝光指南
2019/10/15 Javascript
基于vue和websocket的多人在线聊天室
2020/02/01 Javascript
Express 配置HTML页面访问的实现
2020/11/01 Javascript
[27:39]Ti4 循环赛第二日 LGD vs Fnatic
2014/07/11 DOTA
[03:59]第二届DOTA2亚洲邀请赛选手传记-VGJ.rOtk
2017/04/03 DOTA
在python中的socket模块使用代理实例
2014/05/29 Python
python调用新浪微博API项目实践
2014/07/28 Python
Python写的Discuz7.2版faq.php注入漏洞工具
2014/08/06 Python
编写Python脚本来获取mp3文件tag信息的教程
2015/05/04 Python
简单实现python数独游戏
2018/03/30 Python
Python实现统计英文文章词频的方法分析
2019/01/28 Python
Selenium webdriver添加cookie实现过程详解
2020/08/12 Python
python模拟点击在ios中实现的实例讲解
2020/11/26 Python
Django开发RESTful API实现增删改查(入门级)
2021/05/10 Python
在windows server 2012 r2中安装mysql的详细步骤
2022/07/23 Servers