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 Event学习第二章 Event浏览器兼容性
Feb 07 Javascript
JS匀速运动演示示例代码
Nov 26 Javascript
使用GruntJS构建Web程序之Tasks(任务)篇
Jun 06 Javascript
node.js中的fs.link方法使用说明
Dec 15 Javascript
深入分析jsonp协议原理
Sep 26 Javascript
JavaScript对HTML DOM使用EventListener进行操作
Oct 21 Javascript
jQuery计算文本框字数及限制文本框字数的方法
Mar 01 Javascript
全屏滚动插件fullPage.js使用实例解析
Oct 21 Javascript
支持移动端原生js轮播图
Feb 16 Javascript
React从react-router路由上做登陆验证控制的方法
May 10 Javascript
在Vue中用canvas实现二维码和图片合成海报的方法
Jun 10 Javascript
vue组件中节流函数的失效的原因和解决方法
Dec 02 Vue.js
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
php实现购物车功能(上)
2020/07/23 PHP
PHP使用curl模拟post上传及接收文件的方法
2016/03/04 PHP
php实现的统计字数函数定义与使用示例
2017/07/26 PHP
PHP微信网页授权的配置文件操作分析
2019/05/29 PHP
Javascript操作select方法大全[新增、修改、删除、选中、清空、判断存在等]
2008/09/26 Javascript
面向对象的Javascript之一(初识Javascript)
2012/01/20 Javascript
javascript版的in_array函数(判断数组中是否存在特定值)
2014/05/09 Javascript
node.js中的console.trace方法使用说明
2014/12/09 Javascript
jQuery往返城市和日期查询实例讲解
2015/10/09 Javascript
解决Node.js使用MySQL出现connect ECONNREFUSED 127.0.0.1:3306的问题
2017/03/09 Javascript
使用OPENLAYERS3实现点选的方法
2020/09/24 Javascript
详解如何给React-Router添加路由页面切换时的过渡动画
2019/04/25 Javascript
微信小程序云开发使用方法新手初体验
2019/05/16 Javascript
vue+element 模态框表格形式的可编辑表单实现
2019/06/07 Javascript
150行Node.js实现的dns代理工具
2019/08/02 Javascript
vue在路由中验证token是否存在的简单实现
2019/11/11 Javascript
vue 如何使用递归组件
2020/10/23 Javascript
[02:44]重置世界,颠覆未来——DOTA2 7.23版本震撼上线
2019/12/01 DOTA
Python threading多线程编程实例
2014/09/18 Python
在Python中使用poplib模块收取邮件的教程
2015/04/29 Python
Python简单检测文本类型的2种方法【基于文件头及cchardet库】
2016/09/18 Python
Python+OpenCV实现图像融合的原理及代码
2018/12/03 Python
python进程池实现的多进程文件夹copy器完整示例
2019/11/27 Python
python判断两个序列的成员是否一样的实例代码
2020/03/01 Python
TensorFlow2.X使用图片制作简单的数据集训练模型
2020/04/08 Python
Python 如何操作 SQLite 数据库
2020/08/17 Python
python 常见的反爬虫策略
2020/09/27 Python
用CSS3实现无限循环的无缝滚动的实例代码
2017/07/04 HTML / CSS
卡西欧B级产品官方网站:Casio Outlet
2018/05/22 全球购物
Pandora西班牙官方商店:PandoraShop.es
2020/10/05 全球购物
Strathberry苏贝瑞中国官网:西班牙高级工匠手工打造
2020/10/19 全球购物
什么是托管函数?托管函数有什么用?
2014/06/15 面试题
为什么要用EJB
2014/04/17 面试题
施工资料员岗位职责
2014/01/06 职场文书
奶茶店创业计划书范文
2014/01/17 职场文书
保安岗位职责
2014/02/21 职场文书