1.表格金额格式化

/*** 把金额转为发票、收据等表格能遍历显示的数据* * @param {money} Numner 金额大小* @param {max} Numner 带(角、分的位数)* 例:百    十   万   千   百   十   元   角   分为9位*/
function moenyToStr(money, max = 9) {// NaN !== NaNif (Number(money) !== Number(money)) {return money}// 转为字符串let str = String(money)// 分割为数组,去掉小数点const parts = str.split('.')str = parts.join('')// 不足两位小数添0str = str.padEnd(parts[0].length + 2, '0')// 大于最大位数if (str.length > max) {return ''.padStart(max, '9')// return Array.from({length: max}, (x, i) => {//     return 9// })}// 不足位数补空str = str.padStart(max, ' ')return str
},

2.数字转为中文大写

function moneyToCN(money) {// NaN !== NaNif (Number(money) !== Number(money)) {return money}// 大数位,每四位一节const cnFigure = ['', '万', '亿', '万亿']// 中文数字0-9const cnInteger = ['零', '壹', '贰', '叁', '肆', '伍', '陆', '柒', '捌', '玖']// 十进制计数“个十百千”const cnDecimalism = ['', '拾', '佰', '仟']// 先转为字符串const string = money + ''// 小数点分割const numbers = string.split('.')const integerPart = numbers[0]const decimalPart = numbers[1]// 整数部分位数const l = integerPart.length// 四位分节const pitch = Math.ceil(l / 4)const array = []// 分为每四位一节,从低位向高位分for (let index = 0; index < pitch; index++) {array.push(integerPart.slice((l - (index + 1) * 4 < 0) ? 0 : (l - (index + 1) * 4), l - index * 4))}// 将四位一节的数字转换为对应的中文,拼接上大数位,比如(一千一百一十一)(万),“一千一百一十一万”const cnArray = array.map((figure, index) => {const cn = figure.split('').map((char, i) => {return char === '0' ? '零' : (cnInteger[Number(char)] + cnDecimalism[figure.length - i - 1])// replace末尾的所有“零”,例如“壹仟零零零”变成“壹仟”;再replace中间的多个零,例如“壹万零零零玖”变成“壹万零玖”}).join('').replace(/\u96f6+$/, '').replace(/\u96f6+/g, '\u96f6')// 防止出现“零零零零”变成“”之后再加大数位,例如“(零零零零)万”变成“万”return cn.length ? (cn + cnFigure[index]) : (cnFigure[index] ? '零' : '')}).reverse()// 整数,替换掉中间连续的“零”,例如“一万亿零(亿)零(万)一千”变为“一万亿零一千”,最后可加上.replace(/^\u4e00\u5341/, '\u5341'),将“一十****”变为“十****”const integerCN = cnArray.join('').replace(/\u96f6+/g, '\u96f6')let decimalCN = ''if (!decimalPart || decimalPart === '0' || decimalPart === '00') {decimalCN = '整'} else {const [p0, p1] = decimalPart.split('')decimalCN = (p0 === '0' ? '零' : (cnInteger[Number(p0)] + '角')) + (!p1 || p1 === '0' ? '' : (cnInteger[Number(p1)] + '分'))}return `${integerCN || '零'}圆${decimalCN}`
}

js收据、发票等表格数据格式化,js把数字转为中文大写相关推荐

  1. js如何实现动态显示表格数据(点奇数显示奇数单元格内容)

    js如何实现动态显示表格数据(点奇数显示奇数单元格内容) 一.总结 一句话总结: 1.动态指定表格中每个单元格的id,然后通过id可以获取每个单元格,然后对里面的innerHTML进行赋值. 2.弄了 ...

  2. JS+xlsx.js实现录入excel表格数据随机点名

    娱乐小项目,做教学上课随机抽人用,因为班级较多,所以不想用数组的方式来进行存储,将excel表格的数据直接转换为JSON对象格式,再循环存入数组,通过数组下标随机数的方式,实现这样的一个效果. HTM ...

  3. Element UI 表格数据格式化

    无插槽时的数据格式化 无插槽的情况下,使用 el-table-column 的formatter属性,可以格式化指定列的值 <el-table-columnprop="address& ...

  4. 前端js读取excel工作表格数据

    首先 需要两个js文件 jquery.min.js 线上地址 https://cdn.bootcss.com/jquery/3.2.1/jquery.js xlsx.core.min.js 线上地址 ...

  5. WPS开发 js宏开发 筛选表格数据 导出到新表格

    用excel筛选对应的数据 导出到新的excel表 这种常见的功能是非常有用的 如果用程序来实现,就很酷了,还要是js实现,这是太酷了 // wps官方文档:https://qn.cache.wpsc ...

  6. 用js实现动态添加表格数据

    第一种方式: <!DOCTYPE HTML> < html > < head > < meta  charset = UTF -8> < titl ...

  7. 原生js动态实现添加表格数据并某列求和

    <table width="600" border="1" cellspacing="0"><thead><t ...

  8. html js 动态表格数据,HTML+JS动态表格

    1. 设置固定列 ID日期星期 propName -- 属性名 valCalc -- 设置值时, 特定回调函数 2. 动态生成可变列 这里模拟服务器获取数据 // 返回数据的格式: /* { poin ...

  9. 如何在js中使用ajax请求数据,在 JS 中怎么使用 Ajax 来进行请求

    在 JS 中怎么使用 Ajax 来进行请求 发布时间:2021-07-22 09:48:43 来源:亿速云 阅读:78 作者:chen 本篇内容介绍了"在 JS 中怎么使用 Ajax 来进行 ...

最新文章

  1. Oracle 11g服务器与客户端卸载、安装
  2. 【PAT乙级】1067 试密码 (20 分)
  3. docker 外部连接_如何从主机外部(同一网络)连接到Docker容器[Windows]
  4. (转帖)对抽象编程:接口和抽象类
  5. pycharm Debug问题
  6. 阿里如何做到百万量级硬件故障自愈?
  7. C和C++里面的lvalue 和 rvalue的释义
  8. 大众CEO迪斯承认芯片仍短缺
  9. 吴晓波上市梦碎,罗永浩:梦太大又入错行
  10. We change lives !
  11. Android:沉浸式状态栏(一)工具类
  12. Linux mii-tool命令
  13. 线性同余法求伪随机数序列
  14. Discuz 模板目录结构注释说明
  15. 万能显卡驱动win7_AMD发布Radeon 20.11.1驱动:优化四款新游戏、性能提升7%-AMD,Radeon,驱动,RX 5700 XT ——快科技(驱动之家旗下媒体)-...
  16. c语言str系列函数
  17. realme真我Q5和iQOOz6pro哪个值得买 两者配置对比
  18. 从移动到桌面—ARM挑战X86
  19. 当在浏览器地址栏输入一个URL后回车,将会发生的事情?
  20. vulnhub靶场之HA: Joker

热门文章

  1. micropython esp32驱动舵机_乐鑫ESP32-PCA9685舵机控制板与MicroPython-ESP32-电路城论坛 - 电子工程师学习交流园地...
  2. 这10个Python项目很有趣
  3. 标准地图哪里找?这里的地图为底图,审图无需提供资质
  4. C语言编程代码——因式分解
  5. 铜川焊接机器人效率_abb焊接机器人-铜川焊接机器人-森达焊接(查看)
  6. 云计算技术 — 混合云 — 技术架构
  7. css弹性布局自动换行怎么实现,网页设计常用布局之CSS弹性布局
  8. NLP(二十六)限定领域的三元组抽取的一次尝试
  9. php的表单提交之上传文件
  10. 微软嵌入式精品课程 信赖用户下载赠30颗下载豆【已结束】