JS实现金额转换(将输入的阿拉伯数字)转换成中文的实现代码


Posted in Javascript onSeptember 30, 2013
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>无标题文档</title>
<script type="text/javascript" language="javascript">
function clickchange(obj){
var aaval=obj.value;
alert(aaval);
document.getElementById("bb").value=ChinaCost(aaval);
}
function ChinaCost(numberValue){
var numberValue=new String(Math.round(numberValue*100)); // 数字金额
var chineseValue=""; // 转换后的汉字金额
var String1 = "零壹贰叁肆伍陆柒捌玖"; // 汉字数字
var String2 = "万仟佰拾亿仟佰拾万仟佰拾元角分"; // 对应单位
var len=numberValue.length; // numberValue 的字符串长度
var Ch1; // 数字的汉语读法
var Ch2; // 数字位的汉字读法
var nZero=0; // 用来计算连续的零值的个数
var String3; // 指定位置的数值
if(len>15){
alert("超出计算范围");
return "";
}
if (numberValue==0){
chineseValue = "零元整";
return chineseValue;
}
String2 = String2.substr(String2.length-len, len); // 取出对应位数的STRING2的值
for(var i=0; i<len; i++){
String3 = parseInt(numberValue.substr(i, 1),10); // 取出需转换的某一位的值
if ( i != (len - 3) && i != (len - 7) && i != (len - 11) && i !=(len - 15) ){
if ( String3 == 0 ){
Ch1 = "";
Ch2 = "";
nZero = nZero + 1;
}
else if ( String3 != 0 && nZero != 0 ){
Ch1 = "零" + String1.substr(String3, 1);
Ch2 = String2.substr(i, 1);
nZero = 0;
}
else{
Ch1 = String1.substr(String3, 1);
Ch2 = String2.substr(i, 1);
nZero = 0;
}
}
else{ // 该位是万亿,亿,万,元位等关键位
if( String3 != 0 && nZero != 0 ){
Ch1 = "零" + String1.substr(String3, 1);
Ch2 = String2.substr(i, 1);
nZero = 0;
}
else if ( String3 != 0 && nZero == 0 ){
Ch1 = String1.substr(String3, 1);
Ch2 = String2.substr(i, 1);
nZero = 0;
}
else if( String3 == 0 && nZero >= 3 ){
Ch1 = "";
Ch2 = "";
nZero = nZero + 1;
}
else{
Ch1 = "";
Ch2 = String2.substr(i, 1);
nZero = nZero + 1;
}
if( i == (len - 11) || i == (len - 3)){ // 如果该位是亿位或元位,则必须写上
Ch2 = String2.substr(i, 1);
}
}
chineseValue = chineseValue + Ch1 + Ch2;
}
if ( String3 == 0 ){ // 最后一位(分)为0时,加上“整”
chineseValue = chineseValue + "整";
}
return chineseValue;
}
</script>
</head>
<body>
<input type="text" id="aa" onblur="clickchange(this)" />
<input type="text" id="bb" />
</body>
</html>
 
Javascript 相关文章推荐
javascript 字符串连接的性能问题(多浏览器)
Nov 18 Javascript
浅谈javascript的数据类型检测
Jul 10 Javascript
用XMLDOM和ADODB.Stream实现base64编码解码实现代码
Nov 28 Javascript
在JavaScript中获取请求的URL参数
Dec 22 Javascript
仅IE6/7/8中innerHTML返回值忽略英文空格的问题
Apr 07 Javascript
jQuery阻止同类型事件小结
Apr 19 Javascript
jQuery实现冻结表格行和列
Apr 29 Javascript
JavaScript的函数式编程基础指南
Mar 19 Javascript
JS表格组件BootstrapTable行内编辑解决方案x-editable
Sep 01 Javascript
基于 Bootstrap Datetimepicker 联动
Aug 03 Javascript
element ui table 增加筛选的方法示例
Nov 02 Javascript
微信小程序 点击切换样式scroll-view实现代码实例
Oct 11 Javascript
js防止表单重复提交的两种方法
Sep 30 #Javascript
js借助ActiveXObject实现创建文件
Sep 29 #Javascript
js获取URL的参数的方法(getQueryString)示例
Sep 29 #Javascript
在父页面调用子页面的JS方法
Sep 29 #Javascript
javascript完美拖拽的实现方法
Sep 29 #Javascript
jquery中focus()函数实现当对象获得焦点后自动把光标移到内容最后
Sep 29 #Javascript
js中的scroll和offset 使用比较的实例与分析
Sep 29 #Javascript
You might like
经典的星际争霸,满是回忆的BGM
2020/04/09 星际争霸
mysql数据库差异比较的PHP代码
2012/02/05 PHP
Apache服务器无法使用的解决方法
2013/05/08 PHP
php使用mkdir创建多级目录入门例子
2014/05/10 PHP
php批量修改表结构实例
2017/05/24 PHP
dwr spring的集成实现代码
2009/03/22 Javascript
IE6图片加载的一个BUG解决方法
2010/07/13 Javascript
JavaScript继承方式实例
2010/10/29 Javascript
JS获取URL中参数值(QueryString)的4种方法分享
2014/04/12 Javascript
js 获取浏览器版本以此来调整CSS的样式
2014/06/03 Javascript
JavaScript使用循环和分割来替换和删除元素实例
2014/10/13 Javascript
jQuery插件开发精品教程(让你的jQuery更上一个台阶)
2015/11/07 Javascript
javascript中对Date类型的常用操作小结
2016/05/19 Javascript
JS解决IOS中拍照图片预览旋转90度BUG的问题
2017/09/13 Javascript
vue-cli3.0配置及使用注意事项详解
2018/09/05 Javascript
JavaScript寄生组合式继承原理与用法分析
2019/01/11 Javascript
jquery登录的异步验证操作示例
2019/05/09 jQuery
js中arguments对象的深入理解
2019/05/14 Javascript
利用js canvas实现五子棋游戏
2020/10/11 Javascript
Electron+vue从零开始打造一个本地播放器的方法示例
2020/10/27 Javascript
nuxt引入组件和公共样式的操作
2020/11/05 Javascript
javascript实现京东快递单号的查询效果
2020/11/30 Javascript
[01:04:01]2014 DOTA2国际邀请赛中国区预选赛 5 23 CIS VS DT第一场
2014/05/24 DOTA
[56:17]NB vs Infamous 2019国际邀请赛淘汰赛 败者组 BO3 第三场 8.22
2019/09/05 DOTA
使用优化器来提升Python程序的执行效率的教程
2015/04/02 Python
Python六大开源框架对比
2015/10/19 Python
Python多层嵌套list的递归处理方法(推荐)
2016/06/08 Python
一文总结学习Python的14张思维导图
2017/10/17 Python
基于python OpenCV实现动态人脸检测
2018/05/25 Python
朴素贝叶斯分类算法原理与Python实现与使用方法案例
2018/06/26 Python
Django项目创建及管理实现流程详解
2020/10/13 Python
美国钻石商店:Zales
2016/11/20 全球购物
Nike瑞士官网:Nike CH
2021/01/18 全球购物
幼儿园数学教学反思
2014/02/02 职场文书
大学生先进事迹材料
2014/02/16 职场文书
浅谈mysql哪些情况会导致索引失效
2021/11/20 MySQL