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 append() html时的小问题的解决方法
Dec 16 Javascript
js实现交换运动效果的方法
Apr 10 Javascript
JS使用eval解析JSON的注意事项分析
Nov 14 Javascript
Node.js的Web模板引擎ejs的入门使用教程
Jun 06 Javascript
详解用vue.js和laravel实现微信支付
Jun 23 Javascript
微信小程序 页面跳转传值实现代码
Jul 27 Javascript
vue使用drag与drop实现拖拽的示例代码
Sep 07 Javascript
JavaScript 正则命名分组【推荐】
Jun 07 Javascript
vue-cli 打包后提交到线上出现 &quot;Uncaught SyntaxError:Unexpected token&quot; 报错
Nov 06 Javascript
Vue开发之封装分页组件与使用示例
Apr 25 Javascript
js实现图片推拉门效果代码实例
May 18 Javascript
五分钟搞懂Vuex实用知识(小结)
Aug 12 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生成静态页面详解
2006/11/19 PHP
apache+php+mysql安装配置方法小结
2010/08/01 PHP
php使用array_search函数实现数组查找的方法
2015/06/12 PHP
php封装的验证码类分享
2017/02/26 PHP
在视频前插入广告
2006/11/20 Javascript
js 表单验证方法(实用)
2009/04/28 Javascript
js下判断 iframe 是否加载完成的完美方法
2010/10/26 Javascript
jquery+css+ul模拟列表菜单具体实现思路
2013/04/15 Javascript
js创建子窗口并且回传值示例代码
2013/07/02 Javascript
js展开闭合效果演示代码
2013/07/24 Javascript
什么是cookie?js手动创建和存储cookie
2014/05/27 Javascript
jQuery实现冻结表格行和列
2015/04/29 Javascript
JavaScript基于setTimeout实现计数的方法
2015/05/08 Javascript
AspNet中使用JQuery上传插件Uploadify详解
2015/05/20 Javascript
JavaScript数组迭代器实例分析
2015/06/09 Javascript
html5+javascript实现简单上传的注意细节
2016/04/18 Javascript
domReady的实现案例
2016/11/23 Javascript
jQuery Easyui datagrid连续发送两次请求问题
2016/12/13 Javascript
js将字符串中的每一个单词的首字母变为大写其余均为小写
2017/01/05 Javascript
Javascript实现基本运算器
2017/07/15 Javascript
小程序实现单选多选功能
2018/11/04 Javascript
vue 项目软键盘回车触发搜索事件
2020/09/09 Javascript
python 拷贝特定后缀名文件,并保留原始目录结构的实例
2018/04/27 Python
对python 读取线的shp文件实例详解
2018/12/22 Python
python+selenium+chrome批量文件下载并自动创建文件夹实例
2020/04/27 Python
快速创建 HTML5 Canvas 电信网络拓扑图的示例代码
2018/03/21 HTML / CSS
Html5移动端网页端适配(js+rem)
2021/02/03 HTML / CSS
BookOutlet加拿大:在网上书店购买廉价折扣图书和小说
2018/10/05 全球购物
在职研究生自我鉴定
2013/10/16 职场文书
2014年团员学习十八大思想汇报
2014/09/13 职场文书
2014教师评职称工作总结
2014/11/10 职场文书
七一活动主持词
2015/06/29 职场文书
教师远程研修感悟
2015/11/18 职场文书
中秋节作文(五年级)之关于月亮
2019/09/11 职场文书
创业计划书之青年旅馆
2019/09/23 职场文书
RPM包方式安装Oracle21c的方法详解
2021/08/23 Oracle