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 相关文章推荐
top.location.href 没有权限 解决方法
Aug 05 Javascript
javascript实现十六进制颜色值(HEX)和RGB格式相互转换
Jun 20 Javascript
js实现图片漂浮效果的方法
Mar 02 Javascript
jQuery插件slides实现无缝轮播图特效
Apr 17 Javascript
由ReactJS的Hello world说开来
Jul 02 Javascript
基于jQuery实现淡入淡出效果轮播图
Jul 31 Javascript
js实现按钮控制带有停顿效果的图片滚动
Aug 30 Javascript
JS如何设置iOS中微信浏览器的title
Nov 22 Javascript
Vue表单验证插件的制作过程
Apr 01 Javascript
Vue 项目中遇到的跨域问题及解决方法(后台php)
Mar 28 Javascript
vue组件 keep-alive 和 transition 使用详解
Oct 11 Javascript
vue+iview实现手机号分段输入框
Mar 25 Vue.js
自写的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时的4个配置修改说明
2015/10/19 PHP
基于jquery实现图片广告轮换效果代码
2011/07/07 Javascript
腾讯UED 漂亮的提示信息效果代码
2011/09/12 Javascript
JavaScript可否多线程? 深入理解JavaScript定时机制
2012/05/23 Javascript
Google的跟踪代码 动态加载js代码方法应用
2012/11/12 Javascript
Javascript之this关键字深入解析
2013/11/12 Javascript
IE中的File域无法清空使用jQuery重设File域
2014/04/24 Javascript
JS实现让访问者自助选择网页文字颜色的方法
2015/02/24 Javascript
Jquery1.9.1源码分析系列(十五)动画处理之外篇
2015/12/04 Javascript
javascript html5移动端轻松实现文件上传
2020/03/27 Javascript
Javascript中this绑定的3种方法与比较
2016/10/13 Javascript
jQuery实现表格与ckeckbox的全选与单选功能
2016/11/24 Javascript
JS判断Android、iOS或浏览器的多种方法(四种方法)
2017/06/29 Javascript
利用纯js + transition动画实现移动端web轮播图详解
2017/09/10 Javascript
基于原生js运动方式关键点的总结(推荐)
2017/10/01 Javascript
详解weex默认webpack.config.js改造
2018/01/08 Javascript
react中fetch之cors跨域请求的实现方法
2018/03/14 Javascript
React从react-router路由上做登陆验证控制的方法
2018/05/10 Javascript
JavaScript页面加载事件实例讲解
2019/09/01 Javascript
解决微信小程序中的滚动穿透问题
2019/09/16 Javascript
python爬取51job中hr的邮箱
2016/05/14 Python
python利用requests库进行接口测试的方法详解
2018/07/06 Python
python使用folium库绘制地图点击框
2018/09/21 Python
Django之提交表单与前后端交互的方法
2019/07/19 Python
基于Python中的yield表达式介绍
2019/11/19 Python
python scrapy重复执行实现代码详解
2019/12/28 Python
Python 在函数上添加包装器
2020/07/28 Python
CSS3效果:自定义“W”形运行轨迹实例
2017/03/29 HTML / CSS
详解Canvas 实现炫丽的粒子运动效果(粒子生成文字)
2018/02/01 HTML / CSS
美国最顶级的精品店之一:Hampden Clothing
2016/12/22 全球购物
Oroton中国官网:澳洲知名奢侈配饰品牌
2017/03/26 全球购物
女大学生自我鉴定
2013/12/09 职场文书
护士岗位求职应聘自荐书范文
2014/02/12 职场文书
MySQL查看表和清空表的常用命令总结
2021/05/26 MySQL
JavaScript正则表达式实现注册信息校验功能
2022/05/30 Java/Android
使用 DataAnt 监控 Apache APISIX的原理解析
2022/07/07 Servers