JS转换金额大写方法
//代码如下所示:
function menoyToUppercase(money) {var cnNums = new Array('零', '壹', '贰', '叁', '肆', '伍', '陆', '柒', '捌', '玖'); //汉字的数字var cnIntRadice = new Array('', '拾', '佰', '仟'); //基本单位var cnIntUnits = new Array('', '万', '亿', '兆'); //对应整数部分扩展单位var cnDecUnits = new Array('角', '分', '毫', '厘'); //对应小数部分单位var cnInteger = '整'; //整数金额时后面跟的字符var cnIntLast = '元'; //整数完以后的单位//最大处理的数字var maxNum = 999999999999999.9999;var integerNum; //金额整数部分var decimalNum; //金额小数部分//输出的中文金额字符串var chineseStr = '';var parts; //分离金额后用的数组,预定义if (money == '') { return ''; }money = parseFloat(money);if (money >= maxNum) {//超出最大处理数字return '超出最大处理数字';}if (money == 0) {chineseStr = cnNums[0] + cnIntLast + cnInteger;return chineseStr;}//四舍五入保留两位小数,转换为字符串money = Math.round(money * 100).toString();integerNum = money.substr(0,money.length-2);decimalNum = money.substr(money.length-2);//获取整型部分转换if (parseInt(integerNum, 10) > 0) {var zeroCount = 0;var IntLen = integerNum.length;for (var i = 0; i < IntLen; i++) {var n = integerNum.substr(i, 1);var p = IntLen - i - 1;var q = p / 4;var m = p % 4;if (n == '0') {zeroCount++;} else {if (zeroCount > 0) {chineseStr += cnNums[0];}//归零zeroCount = 0;chineseStr += cnNums[parseInt(n)] + cnIntRadice[m];}if (m == 0 && zeroCount < 4) {chineseStr += cnIntUnits[q];}}chineseStr += cnIntLast;}//小数部分if (decimalNum != '') {var decLen = decimalNum.length;for (var i = 0; i < decLen; i++) {var n = decimalNum.substr(i, 1);if (n != '0') {chineseStr += cnNums[Number(n)] + cnDecUnits[i];}}}if (chineseStr == '') {chineseStr += cnNums[0] + cnIntLast + cnInteger;} else if (decimalNum == '' || /^0*$/.test(decimalNum)) {chineseStr += cnInteger;}return chineseStr;
}
直接调用此方法即可
举个栗子:
let money = 100; //100元、200元。。。。
let chineseStr = menoyToUppercase(money);
$('#id').val(chineseStr);
此时chineseStr变量里的值已经是大写(浮点型小数也能转换)
当然这里也可以先加一个判断用户输入是数字类型还是字符串
JS转换金额大写方法相关推荐
- [js] 写一个方法把科学计数法转换成数字或者字符串
[js] 写一个方法把科学计数法转换成数字或者字符串 function c(a) { return a.replace(/^(\d+)(?:.(\d+))*eE(\d+)/,(_,a,a1,p,n)= ...
- js字符串的字典序_JavaScript通过字典进行字符串翻译转换的方法
本文实例讲述了JavaScript通过字典进行字符串翻译转换的方法..具体分析如下: 这里实际上就是先设置一个对照的字典,然后通过翻译函数,从字典中找到相应的键值.需要在JavaScript 1.8以 ...
- JS常用属性方法大全
JS常用属性方法大全 1.输出语句:document.write(""); 2.JS中的注释为: 3.传统的HTML文档顺序是:document->html->(hea ...
- dart js转换_基于dart生态的FaaS前端一体化建设
作者:闲鱼技术-羲凡 背景 随着Flutter对现有业务的不断参透,闲鱼Serverless基建的重心也倾向了dart生态,先是将dart容器打包到服务器上,实现dart编程语言的统一,在统一的容器之 ...
- 原生js调用json方法
原文链接 Ajax基础 ajax:无刷新数据读取,读取服务器上的信息 HTTP请求方法: GET:用于获取数据,如浏览帖子 ajax.judgeXmlHttpRequest('get', 'index ...
- 【JS教程】100+常用JS函数(方法)
为什么80%的码农都做不了架构师?>>> 100+常用JS函数(方法) 1. document.write("");为 输出语句 2. JS中的注释为// ...
- 常用js的数组方法和对象方法
js常用的数组方法和对象方法 常用js的数组方法和对象方法 数组的方法 对象的方法 常用js的数组方法和对象方法 从此以后也要写博客辣,用来记录常见的问题和碰到的新问题.最近记忆力越来越差了. 数组的 ...
- Node.js 调用 C++ 方法 / C++ Addons 详解
最近开发涉及到了一些Node.js调用C++的地方,于是网上搜了一下,发现网上好多文章都是比较片面的东西,没法直接使用.于是花点时间总结一下. Android开发中Java 调用C++的部分叫JNI, ...
- 前端开发:JS中join()方法的使用总结
前言 在前端开发过程中,对数组的数据进行处理也是比较常见的操作之一,而且对数组进行操作的频率远远大于对 对象进行操作,因此在开发过程中对于数组里面的数据进行处理是一项比较重要的技能,尤其是对于刚入行的 ...
最新文章
- matlab怎么没有编辑器,在不打开编辑器窗口的情况下开始一个新的MATLAB会话
- iOS架构-C/C++lame库在Mac下编译通用静态库.a库(13)
- 作业五—个人项目-小学四则运算 “软件”之升级版1
- 趣说游戏AI开发:曼哈顿街角的A*算法 1
- python学习笔记之装饰器、递归、算法(第四天)
- HALCON示例程序resistor.hdev通过不同焦距图像提取深度信息
- mysql查询数据库报错sql_mode_MySQL数据库的sql_mode
- 零基础自学html5要多久?Web前端学习路线的6点建议
- 北京市通信管理局对3·15晚会曝光的北京企业作出行政处罚
- windows下安装Redis测试
- zabbix 之 磁盘发现脚本
- windows配置caffe及matlab/python接口编译和调用(cpu/gpu)
- 【路径规划】基于matlab A_star算法智能仓储机器人移动避碰路径规划【含Matlab源码 1180期】
- Google浏览器安装Axure插件
- css怎么改鼠标样式,如何利用CSS改变鼠标的样式
- 目前服务器cpu主流参数,服务器CPU天梯图-包含所有主流设备及服务器处理器
- qq邮箱 html 屏蔽,QQ邮箱邮件被拦截该怎么办?邮件被拦截的三种解决办法
- 近端梯度法(Proximal Gradient Method, PG)
- 2022年,英文科技论文写作与学术报告期末考试答案(仅供参考)
- 编写一个用于字符串比较的函数