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中使用正则匹配多条,且获取每条中的分组数据
Nov 30 Javascript
可在线编辑网页文字效果代码(单击)
Mar 02 Javascript
js弹出层(jQuery插件形式附带reLoad功能)
Apr 12 Javascript
window.location.href = window.location.href 跳转无反应 a超链接onclick事件写法
Aug 21 Javascript
JavaScript删除数组元素的方法
Mar 20 Javascript
在JavaScript中操作数组之map()方法的使用
Jun 09 Javascript
很棒的js Tab选项卡切换效果
Aug 30 Javascript
jquery 抽奖小程序实现代码
Oct 12 Javascript
基于 Vue 实现一个酷炫的 menu插件
Nov 14 Javascript
JavaScript实现京东购物放大镜和选项卡效果的方法分析
Jul 05 Javascript
vue服务端渲染添加缓存的方法
Sep 18 Javascript
vue实现购物车结算功能
Jun 18 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
修改Zend引擎实现PHP源码加密的原理及实践
2008/04/14 PHP
HTML中嵌入PHP的简单方法
2016/02/16 PHP
WordPress中的shortcode短代码功能使用详解
2016/05/17 PHP
PHP常用函数之获取汉字首字母功能示例
2019/10/21 PHP
Javascript 八进制转义字符(8进制)
2011/04/08 Javascript
javascript预加载图片、css、js的方法示例介绍
2013/10/14 Javascript
jQuery拖拽div实现思路
2014/02/19 Javascript
图片上传之FileAPI与NodeJs
2017/01/24 NodeJs
基于openlayers4实现点的扩散效果
2020/08/17 Javascript
nodejs之koa2请求示例(GET,POST)
2018/08/07 NodeJs
vue 使用html2canvas将DOM转化为图片的方法
2018/09/11 Javascript
jQuery实时统计输入框字数及限制
2020/06/24 jQuery
Python使用py2exe打包程序介绍
2014/11/20 Python
Python合并字符串的3种方法
2015/05/21 Python
Python正则表达式经典入门教程
2017/05/22 Python
解决python大批量读写.doc文件的问题
2018/05/08 Python
python实现飞机大战微信小游戏
2020/03/21 Python
python找出完数的方法
2018/11/12 Python
pyqt 多窗口之间的相互调用方法
2019/06/19 Python
简单了解pytest测试框架setup和tearDown
2020/04/14 Python
解决python图像处理图像赋值后变为白色的问题
2020/06/04 Python
python连接mysql有哪些方法
2020/06/24 Python
python中封包建立过程实例
2021/02/18 Python
CSS3属性box-shadow使用详细教程
2012/01/21 HTML / CSS
利用css3-animation实现逐帧动画效果
2016/03/10 HTML / CSS
html5读取本地文件示例代码
2014/04/22 HTML / CSS
新西兰最大、占有率最高的综合性药房:PharmacyDirect药房中文网
2020/11/03 全球购物
Agoda中文官网:安可达(低价预订全球酒店)
2021/01/18 全球购物
介绍一下Linux内核的排队自旋锁
2014/01/04 面试题
WebSphere面试题:在WebSphere里面如何部署一个应用
2015/08/02 面试题
药品质量检测应届生求职信
2013/11/14 职场文书
计算机操作自荐信
2013/12/07 职场文书
汽车转让协议书范本
2014/12/07 职场文书
创业计划书之儿童理发店
2019/09/27 职场文书
Python机器学习应用之工业蒸汽数据分析篇详解
2022/01/18 Python
详解ZABBIX监控ESXI主机的问题
2022/06/21 Servers