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 学习笔记 选择器之五
Jul 23 Javascript
基于jquery的拖动布局插件
Nov 25 Javascript
JS的Document属性和方法小结
Sep 17 Javascript
谈谈JavaScript自定义回调函数
Oct 18 Javascript
AngularJS中的$watch(),$digest()和$apply()区分
Apr 04 Javascript
element ui 表格动态列显示空白bug 修复方法
Sep 04 Javascript
微信小程序实现单选选项卡切换效果
Jun 19 Javascript
layui 数据表格+分页+搜索+checkbox+缓存选中项数据的方法
Sep 21 Javascript
构建Vue大型应用的10个最佳实践(小结)
Nov 07 Javascript
vue学习笔记之Vue中css动画原理简单示例
Feb 29 Javascript
JS面向对象编程实现的Tab选项卡案例详解
Mar 03 Javascript
微信小程序开发数据缓存基础知识辨析及运用实例详解
Nov 06 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异步多线程swoole用法实例
2014/11/14 PHP
PHP下载生成的csv文件及问题总结
2015/08/06 PHP
php实现URL加密解密的方法
2016/11/17 PHP
PHP文字转图片功能原理与实现方法分析
2017/08/31 PHP
thinkphp框架类库扩展操作示例
2019/11/26 PHP
JavaScript静态的动态
2006/09/18 Javascript
JS.GetAllChild(element,deep,condition)使用介绍
2013/09/21 Javascript
javascript内置对象操作详解
2015/02/04 Javascript
js闭包实现按秒计数
2015/04/23 Javascript
js HTML5 Ajax实现文件上传进度条功能
2016/02/13 Javascript
Javascript中Date类型和Math类型详解
2016/02/27 Javascript
Javascript中八种遍历方法的执行速度深度对比
2017/04/25 Javascript
Form表单上传文件(type=&quot;file&quot;)的使用
2017/08/03 Javascript
vue实现将一个数组内的相同数据进行合并
2019/11/07 Javascript
vue使用screenfull插件实现全屏功能
2020/09/17 Javascript
JavaScript用document.write()输出换行的示例代码
2020/11/26 Javascript
[51:11]2014 DOTA2国际邀请赛中国区预选赛5.21 LGD-CDEC VS DT
2014/05/22 DOTA
[05:59]带你看看DPC的台前幕后
2021/03/11 DOTA
python命令行参数sys.argv使用示例
2014/01/28 Python
Python中用于去除空格的三个函数的使用小结
2015/04/07 Python
django 创建过滤器的实例详解
2017/08/14 Python
python调用系统ffmpeg实现视频截图、http发送
2018/03/06 Python
python如何实现数据的线性拟合
2019/07/19 Python
wxpython+pymysql实现用户登陆功能
2019/11/19 Python
PyTorch中Tensor的数据统计示例
2020/02/17 Python
python闭包、深浅拷贝、垃圾回收、with语句知识点汇总
2020/03/11 Python
Django websocket原理及功能实现代码
2020/11/14 Python
CSS3实现文字描边的2种方法(小结)
2020/02/14 HTML / CSS
购买大码女装:Lane Bryant
2016/09/07 全球购物
cosme官方海外旗舰店:日本最大化妆品和美容产品的综合口碑网站
2017/01/18 全球购物
通信工程专业女生个人求职信
2013/09/21 职场文书
大学生优秀自荐信范文
2014/02/25 职场文书
《晚上的太阳》教学反思
2014/04/23 职场文书
2014年综治宣传月活动总结
2014/04/28 职场文书
王亚平太空授课观后感
2015/06/12 职场文书
python pygame入门教程
2021/06/01 Python