js实现将阿拉伯数字转换成中文大写
方法1(注释部分的代码单独提出来作为一个方法也可实现):
intToChinese(num) {// if (!/^(0|[1-9]\d*)(\.\d+)?$/.test(n)) {// return "数据非法"; //判断数据是否大于0// }// let unit = "千百拾亿千百拾万千百拾点 ",// str = "";// n += "00";// let indexpoint = n.indexOf("."); // 如果是小数,截取小数点前面的位数// if (indexpoint >= 0) {// n = n.substring(0, indexpoint) + n.substr(indexpoint + 1, 2); // 若为小数,截取需要使用的unit单位// }// unit = unit.substr(unit.length - n.length); // 若为整数,截取需要使用的unit单位// for (let i = 0; i < n.length; i++) {// str += "零壹贰叁肆伍陆柒捌玖".charAt(n.charAt(i)) + unit.charAt(i); //遍历转化为大写的数字// }// return str// .replace(/零(千|百|拾|角)/g, "零")// .replace(/(零)+/g, "零")// .replace(/零(万|亿|元)/g, "$1")// .replace(/(亿)万|壹(拾)/g, "$1$2")// .replace(/^元零?|零分/g, "")// .replace(/\s*/g, ""); // 替换掉数字里面的空字符,得到结果if (!/^\d*(\.\d*)?$/.test(num)) {// alert("Number is wrong!");return "Number is wrong!";}let AA = new Array("零", "壹", "贰", "叁", "肆", "伍", "陆", "柒", "捌", "玖");let BB = new Array("", "十", "百", "千", "万", "亿", "点", "");let a = ("" + num).replace(/(^0*)/g, "").split("."),k = 0,re = "";for (let i = a[0].length - 1; i >= 0; i--) {switch (k) {case 0:re = BB[7] + re;break;case 4:if (!new RegExp("0{4}\\d{" + (a[0].length - i - 1) + "}$").test(a[0]))re = BB[4] + re;break;case 8:re = BB[5] + re;BB[7] = BB[5];k = 0;break;}if (k % 4 == 2 && a[0].charAt(i + 2) != 0 && a[0].charAt(i + 1) == 0) re = AA[0] + re;if (a[0].charAt(i) != 0) re = AA[a[0].charAt(i)] + BB[k % 4] + re;k++;}if (a.length > 1){ //加上小数部分(如果有小数部分) re += BB[6];for (let i = 0; i < a[1].length; i++) re += AA[a[1].charAt(i)];}return re;},
方法2(带元角分的金钱数额转换):
ToString(n) {if (!/^(0|[1-9]\d*)(\.\d+)?$/.test(n)) {return "数据非法"; //判断数据是否大于0}let unit = "千百拾亿千百拾万千百拾元角分",str = "";n += "00";let indexpoint = n.indexOf("."); // 如果是小数,截取小数点前面的位数if (indexpoint >= 0) {n = n.substring(0, indexpoint) + n.substr(indexpoint + 1, 2); // 若为小数,截取需要使用的unit单位}unit = unit.substr(unit.length - n.length); // 若为整数,截取需要使用的unit单位for (let i = 0; i < n.length; i++) {str += "零壹贰叁肆伍陆柒捌玖".charAt(n.charAt(i)) + unit.charAt(i); //遍历转化为大写的数字}return str.replace(/零(千|百|拾|角)/g, "零").replace(/(零)+/g, "零").replace(/零(万|亿|元)/g, "$1").replace(/(亿)万|壹(拾)/g, "$1$2").replace(/^元零?|零分/g, "").replace(/元$/g, "元整"); // 替换掉数字里面的零字符,得到结果},
js实现将阿拉伯数字转换成中文大写相关推荐
- 【工具封装】Python 实现将阿拉伯数字 === 转换成中文大写数字
一.序言: 工具封装第四弹,阿拉伯数字 ===> 转换成 ===> 中文大写数字,喜欢就赶紧收藏+点赞+关注吧 !!! ---- Nick.Peng 二.实现代码如下: #!/usr/ ...
- 将一组阿拉伯数字转换成中文大写数字
题目大概: 将一组阿拉伯数字转换成中文大写数字 52306 ==> 伍万贰千叁百零陆 我实现了将文件中的一组数字(每行为一个数) 形如: Java代码 25364 466932300 ...
- python数字转换成中文大写_python初学者笔记(2):阿拉伯数字转换成中文大写
题:输入一个数字,转换成中文大写的写法 可运行的程序(Python 2.7.9): 1 #-*- coding: utf-8 -*- #在python2的py文件里面写中文,必须要添加一行声明文件编码 ...
- 大写汉字转阿拉伯数字c语言,阿拉伯数字转换成中文大写数字
原创作者ACN站:3mile 如:550065转换成"五十五万零六十五"或"伍拾伍万零陆拾伍" 可作为UDF使用的. NUM2CWORD($number,$vV ...
- 输入数字输出中文大写python_阿拉伯数字转换成中文大写,中文货币的表达方式 python...
最近在qq群经常看到一个题目,网上查找资料发现,有人实现了一半内容,都是在处理0的问题上卡住了,自己就尝试用刚开始学习的python写了一下.python处理这个问题还是比较方便. 题目: 代码: # ...
- php将阿拉伯数字转换成中文大写,PHP将阿拉伯数字转换成汉字大写支持小数点
第一种 /*function ch_num($num,$mode=true) { $char = array("零","壹","贰",&qu ...
- js 数字金额大小写转换成中文大写
function Arabia_to_Chinese(Num) {for(i=Num.length-1;i>=0;i--){Num = Num.replace(",",&qu ...
- 将阿拉伯数字转换成中文大写的好算法
//加到类的定义部分 private static string[] cstr={"零","壹","贰","叁",&qu ...
- 阿拉伯数字转换成中文大写
package Demo; public class Money{ public static void main(String args[]) { Money mon = new Money(); ...
最新文章
- e class connect.php,剖析帝国CMS核心文件e/class/connect.php中的常用函数
- R语言计算每个分组的行数并将结果添加到dataframe中实战
- linux挂载到哪个分区,Linux中直接挂载硬盘和挂载分区有什么区别?
- Linux xshell窗口批量命令编辑功能(发送键输入到所有窗口)
- s查找mysql服务_MySQL菜鸟实录(一):MySQL服务安装实战
- Spring Security OAuth2整合JWT
- 知道你为什么富不起来吗 十个耽误你一生的缺点 穷人杀手[网摘]
- 帮助用户更好的体验网站:jQuery的页面功能向导插件Pageguide.js
- java并发编程(3)避免活跃性危险
- C#扩展名关联【转】
- A Style-Aware Content Loss for Real-time HD Style Transfer(一个风格转换的风格感知损失)CVPR2018
- Excel Vba编程初探一
- 贝叶斯统计:概率思维的魔法
- P3110 [USACO14DEC]驮运Piggy Back
- 虚幻引擎4——引擎下载及基本蓝图节点/数组节点详细介绍
- linux:为xamp添加mysql的环境变量
- 破解rar、zip、7z压缩包加密
- 2020面试要点大全
- FusionCharts参数简单说明
- VS用SSIS实现SQL Server数据库与Excel表格数据的相互导入