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表格控件(自写,网上没有的)
Jun 04 Javascript
angular.element方法汇总
Jan 07 Javascript
jQuery对象初始化的传参方式
Feb 26 Javascript
JavaScript中length属性的使用方法
Jun 05 Javascript
JQuery的Pager分页器实现代码
May 03 Javascript
详解堆的javascript实现方法
Nov 29 Javascript
详解使用angular-cli发布i18n多国语言Angular应用
May 20 Javascript
js replace 全局替换的操作方法
Jun 12 Javascript
详解JSON和JSONP劫持以及解决方法
Mar 08 Javascript
基于vue、react实现倒计时效果
Aug 26 Javascript
聊聊JS ES6中的解构
Apr 29 Javascript
使用Ajax实现进度条的绘制
Apr 07 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
php calender(日历)二个版本代码示例(解决2038问题)
2013/12/24 PHP
PHP设计模式之装饰器模式实例详解
2018/02/07 PHP
firefox下input type=&quot;file&quot;的size是多大
2011/10/24 Javascript
javascript自动改变文字大小和颜色的效果的小例子
2013/08/02 Javascript
js倒计时小程序
2013/11/05 Javascript
javascript中typeof的使用示例
2013/12/19 Javascript
jQuery事件绑定与解除绑定实现方法
2015/04/15 Javascript
javascript实现的右下角弹窗实例
2015/04/24 Javascript
asp知识整理笔记3(问答模式)
2015/09/27 Javascript
Bootstrap每天必学之基础排版
2015/11/20 Javascript
vue模板语法-插值详解
2017/03/06 Javascript
微信小程序微信支付接入开发实例详解
2017/04/12 Javascript
JS库之Waypoints的用法详解
2017/09/13 Javascript
浅谈实现vue2.0响应式的基本思路
2018/02/13 Javascript
Vue CLI 3搭建vue+vuex最全分析(推荐)
2018/09/27 Javascript
[00:35]DOTA2上海特级锦标赛 EG战队宣传片
2016/03/04 DOTA
[33:42]LGD vs OG 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/17 DOTA
在主机商的共享服务器上部署Django站点的方法
2015/07/22 Python
Python切片工具pillow用法示例
2018/03/30 Python
详解Python用三种方式统计词频的方法
2019/07/29 Python
python简单实现9宫格图片实例
2020/09/03 Python
html5的websockets全双工通信详解学习示例
2014/02/26 HTML / CSS
非凡女性奢华谦虚风格:The Modist
2017/10/28 全球购物
Agoda台湾官网:国内外订房2折起
2018/03/20 全球购物
中国汽车租赁行业头部企业:一嗨租车
2019/05/16 全球购物
初中生期末考试的自我评价
2013/12/17 职场文书
情人节活动策划方案
2014/02/27 职场文书
市场拓展计划书
2014/05/03 职场文书
死亡证明书样本说明
2014/10/18 职场文书
2014年酒店年度工作总结
2014/12/10 职场文书
教师学期个人总结
2015/02/11 职场文书
美容院员工规章制度
2015/08/05 职场文书
2019初中学生入团申请书
2019/06/27 职场文书
2019送给家人们的中秋节祝福语
2019/08/15 职场文书
Python list去重且保持原顺序不变的方法
2021/04/03 Python
Vue OpenLayer测距功能的实现
2022/04/20 Vue.js