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 相关文章推荐
推荐一些非常不错的javascript学习资源站点
Aug 29 Javascript
javascript与CSS复习(《精通javascript》)
Jun 29 Javascript
javascript开发技术大全-第3章 js数据类型
Jul 03 Javascript
JS获取几种URL地址的方法小结
Feb 26 Javascript
AngularJS基础教程之简单介绍
Sep 27 Javascript
Angular中$broadcast和$emit的使用方法详解
May 22 Javascript
VUE页面中加载外部HTML的示例代码
Sep 20 Javascript
原生JS封装animate运动框架的实例
Oct 12 Javascript
微信小程序中使用Async-await方法异步请求变为同步请求方法
Mar 28 Javascript
vue+elementUI实现表格关键字筛选高亮
Oct 26 Javascript
vue实现多个echarts根据屏幕大小变化而变化实例
Jul 19 Javascript
使用Vue-scroller页面input框不能触发滑动的问题及解决方法
Aug 08 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如何编写易读的代码
2007/07/10 PHP
使用php实现截取指定长度
2013/08/06 PHP
php实现mysql封装类示例
2014/05/07 PHP
php blowfish加密解密算法
2016/07/02 PHP
PHP使用GD库制作验证码的方法(点击验证码或看不清会刷新验证码)
2017/08/15 PHP
微信公众平台开发教程⑤ 微信扫码支付模式介绍
2019/04/10 PHP
JavaScript中判断原生函数检查function是否是原生代码
2014/09/09 Javascript
Nodejs实现的一个静态服务器实例
2014/12/06 NodeJs
JavaScript 实现打印,打印预览,打印设置
2014/12/30 Javascript
关于JavaScript和jQuery的类型判断详解
2016/10/08 Javascript
javascript replace()第二个参数为函数时的参数用法
2016/12/26 Javascript
使用vue和datatables进行表格的服务器端分页实例代码
2017/06/07 Javascript
jQuery实现上传图片前预览效果功能
2017/08/03 jQuery
解决vue-router中的query动态传参问题
2018/03/20 Javascript
vue 设置proxyTable参数进行代理跨域
2018/04/09 Javascript
监听angularJs列表数据是否渲染完毕的方法示例
2018/11/07 Javascript
基于vue和websocket的多人在线聊天室
2020/02/01 Javascript
JQuery事件委托(适用于给动态生成的脚本元素添加事件)
2020/02/01 jQuery
详解为element-ui的Select和Cascader添加弹层底部操作按钮
2020/02/07 Javascript
详解JavaScript 作用域
2020/07/14 Javascript
详解Python中的装饰器、闭包和functools的教程
2015/04/02 Python
CentOS 6.5中安装Python 3.6.2的方法步骤
2017/12/03 Python
Python实现的拟合二元一次函数功能示例【基于scipy模块】
2018/05/15 Python
漂亮的Django Markdown富文本app插件的实现
2019/01/02 Python
python实现将文件夹内的每张图片批量分割成多张
2019/07/22 Python
python tkinter实现彩球碰撞屏保
2019/07/30 Python
基于Python中isfile函数和isdir函数使用详解
2019/11/29 Python
如何通过Python3和ssl实现加密通信功能
2020/05/09 Python
CSS3实现文本垂直排列的方法
2018/07/10 HTML / CSS
Html5画布_动力节点Java学院整理
2017/07/13 HTML / CSS
中国跨境电商:Tomtop
2017/03/16 全球购物
西班牙床垫网上商店:Colchones.es
2018/05/06 全球购物
衰败城市英国官网:Urban Decay英国
2020/04/29 全球购物
Ajax实现页面无刷新留言效果
2021/03/24 Javascript
三八红旗手先进事迹材料
2014/05/13 职场文书
Redis调用Lua脚本及使用场景快速掌握
2022/03/16 Redis