通过 npm i money2cn 安装  支持typescript

使用:

import  money2cn  from 'money2cn'
const nums = money2cn(23423423.234)

或者复制源码到项目中 js版

changeMoneyToCN(money) {var cnNums = new Array("零", "壹", "贰", "叁", "肆", "伍", "陆", "柒", "捌", "玖"); //汉字的数字var cnIntRadice = new Array("", "拾", "佰", "仟"); //基本单位var cnIntUnits = new Array("", "万", "亿", "兆"); //对应整数部分扩展单位var cnDecUnits = new Array("角", "分", "毫", "厘"); //对应小数部分单位var cnIntLast = "元"; //整型完以后的单位var maxNum = 999999999999999.99; //最大处理的数字var IntegerNum; //金额整数部分var DecimalNum; //金额小数部分var ChineseStr = ""; //输出的中文金额字符串var parts; //分离金额后用的数组,预定义var zeroCount, IntLen, n, p, q, m, decLen;if (money == "") {return "";}money = parseFloat(money);if (money >= maxNum) {$.alert('超出最大处理数字');return "";}if (money == 0) {ChineseStr = cnNums[0] + cnIntLastreturn ChineseStr;}money = money.toString(); //转换为字符串if (money.indexOf(".") == -1) {IntegerNum = money;DecimalNum = '';cnIntLast = "元整";} else {parts = money.split(".");IntegerNum = parts[0];DecimalNum = parts[1].substr(0, 2);}if (parseInt(IntegerNum, 10) > 0) { //获取整型部分转换zeroCount = 0;IntLen = IntegerNum.length;for (let i = 0; i < IntLen; i++) {n = IntegerNum.substr(i, 1);p = IntLen - i - 1;q = p / 4;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 != '') { //小数部分decLen = DecimalNum.length;for (let i = 0; i < decLen; i++) {n = DecimalNum.substr(i, 1);if (n != '0') {ChineseStr += cnNums[Number(n)] + cnDecUnits[i];}}}if (ChineseStr == '') {ChineseStr += cnNums[0] + cnIntLast;}return ChineseStr;},

ts版

// src/index.ts
export default function(money: number) {let cnNums = new Array("零","壹","贰","叁","肆","伍","陆","柒","捌","玖"); //汉字的数字let cnIntRadice = new Array("", "拾", "佰", "仟"); //基本单位let cnIntUnits = new Array("", "万", "亿", "兆"); //对应整数部分扩展单位let cnDecUnits = new Array("角", "分", "毫", "厘"); //对应小数部分单位let cnIntLast = "元"; //整型完以后的单位let maxNum = 999999999999999.99; //最大处理的数字let IntegerNum: string = ""; //金额整数部分let DecimalNum: string = ""; //金额小数部分let ChineseStr = ""; //输出的中文金额字符串let parts: string[] = ["", ""]; //分离金额后用的数组,预定义let zeroCount, IntLen, n, p, q, m, decLen;if (money == undefined) {return "";}if (money >= maxNum) {return "超出最大处理数字";}if (money == 0) {ChineseStr = cnNums[0] + cnIntLast;return ChineseStr;}if (money.toString().indexOf(".") == -1) {IntegerNum = money.toString();DecimalNum = "";cnIntLast = "元整";} else {parts = money.toString().split(".");IntegerNum = parts[0];DecimalNum = parts[1].substr(0, 2);}if (parseInt(IntegerNum, 10) > 0) {//获取整型部分转换zeroCount = 0;IntLen = IntegerNum.length;for (let i = 0; i < IntLen; i++) {n = IntegerNum.substr(i, 1);p = IntLen - i - 1;q = p / 4;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 != "") {//小数部分decLen = DecimalNum.length;for (let i = 0; i < decLen; i++) {n = DecimalNum.substr(i, 1);if (n != "0") {ChineseStr += cnNums[Number(n)] + cnDecUnits[i];}}}if (ChineseStr == "") {ChineseStr += cnNums[0] + cnIntLast;}return ChineseStr;
}

js和ts两种 将 小写金额转中文大写汉字,阿拉伯数字金额格式化成中文大写汉字,数字金额转换成财务发票大写中文相关推荐

  1. 文件夹选择对话框 JS实现的两种方案

    文件夹选择对话框 JS实现的两种方案 /**  * browseFolder.js  * 该文件定义了BrowseFolder()函数,它将提供一个文件夹选择对话框  * 以供用户实现对系统文件夹选择 ...

  2. C语言自学路之将小写数字完美转换成大写数字

    C语言自学路之将小写数字完美转换成大写数字 # define N 6:6位及以内的整数(小数点后不计) PS:中间两条测试数组正确性的可以忽视,我只是每敲一点都喜欢运行测试一下- #include & ...

  3. C语言编程>第二十二周 ④ 从键盘输入一组小写字母,保存在字符数组str中,请补充fun函数,该函数的功能是:把字符数组str中字符下标为偶数的小写字母转换成对应的大写字母,结果仍保存在原数组

    例题:从键盘输入一组小写字母,保存在字符数组str中,请补充fun函数,该函数的功能是:把字符数组str中字符下标为偶数的小写字母转换成对应的大写字母,结果仍保存在原数组中. 例如,输入 " ...

  4. ch不是小写英文字母的c语言代码,函数fun的功能是进行字母转换。若形参ch中是小写英文字母,则转换成对应的大写英文字母;若ch中是大写英文字母,则...

    题目 题型:选答,填空 难度:★ 函数fun的功能是进行字母转换.若形参ch中是小写英文字母,则转换成对应的大写英文字母:若ch中是大写英文字母,则 函数fun的功能是进行字母转换.若形参ch中是小写 ...

  5. 1、编写一个程序,将一个小写字母(如a)转换成相应的大写字母并显示输出。

    import java.util.Scanner; public class Zuoye1 { /** * 编写一个程序,将一个小写字母(如a) * 转换成相应的大写字母并显示输出. * * * * ...

  6. 数字货币转换成大写货币金额的JAvascript代码

    用JavaScript编写了一功能函数,完成如下功能: 1.对一给定字符串,如:1234.55,转换成正确的中文货币描述:如:人民币壹仟贰佰叁拾四元五角五分 2.输入的字符串形式可以是以下几种:带分隔 ...

  7. JS组件系列——两种bootstrap multiselect组件大比拼

    前言:今天继续来看看bootstrap的另一个组件:multiselect.记得在项目开始之前,博主项目组几个同事就使用哪些js组件展开过讨论,其中就说到了select组件,由于项目的整体风格使用的b ...

  8. iOS WKWebView和JS交互的两种方式

    2019独角兽企业重金招聘Python工程师标准>>> 本文介绍两种方式实现iOS WKWebView和JS交互 WKWebViewConfiguration注入WKScriptMe ...

  9. JS 下载文件两种方式总结

    后端返回Blob对象(文件流),完成导出.下载功能: 1.介绍Blob Blob Blob 对象表示一个不可变.原始数据的类文件对象.它的数据可以按文本或二进制的格式进行读取,也可以转换成 Reada ...

最新文章

  1. SAP LSMW 物料主数据导入毛重净重放大1000倍问题之对策
  2. Alibaba-Dexposed Bug框架原理及源码解析
  3. laravel 安装后500错误
  4. android 字符串转字节数组,java – 在Android中将字节数组转换为Charsequence
  5. php while for 性能,PHP For While 循环
  6. linux删除文件、文件夹操作
  7. C加载JVM崩溃,一般是因为某个变量为NULL
  8. 【模拟器】网工福音!华三模拟器HCL升级,部分功能超越eNSP和EVE!
  9. 笔记本风扇声音大怎么办
  10. 解决Cipher Suites导致的“未能创建 SSL/TLS 安全通道”异常问题
  11. 1_linux简介基础
  12. ApplePay对接java后台详细代码
  13. 爆改小米3G路由器,openwrt踩坑
  14. 我想死你们了,大家好!
  15. mxnet 数据操作
  16. 解决 IDEA2022 push远程时取消analyze code后,退出后自动复原
  17. c语言scanf %4c,scanf(%3c%4c,a,b);当输入ABCDEFGH时 a b的值分别是?怎么来的?
  18. 推荐算法_04_word2vec
  19. Linux下shell编程实例
  20. matlab创始时间,从 matlab 创始人 看 matlab | 学步园

热门文章

  1. 甘肃一名高考生偷偷带手机进考场,拍题并上传到网上出钱求答案……
  2. 两种简单方法:把输入的整数(最多不超过五位),按输入的反方向输出。例如输入12345,要求输出结果是54321.编程实现此功能。
  3. IDEA中Resource Bundle ‘application‘
  4. 第一个 iOS 项目开发小结 - SwiftUI 学习资料、开源项目
  5. 为什么团建这么招人恨
  6. Python Str字符串 字符串常用方法 定义 创建 拆分 成分判断 大小写调整 格式化 填充 替换 访问 查找
  7. [x64dbg] 实战01 - 参数打印/修改参数内容(条件断点、命令、脚本)
  8. JDO持久 (jdbc ejb)
  9. 【Unity】打包时异常 HideFlages.DontSave
  10. java seo优化_JavaWeb 项目如果从技术选型的角度来做 Seo 优化