当前位置: 首页 > news >正文

vue js金额转中文

在Vue.js项目中,实现金额转中文的功能通常涉及编写一个JavaScript方法来处理数字转换逻辑,并在Vue组件中调用该方法。下面是一个基本的示例,展示如何在Vue组件中定义一个计算属性或方法来实现这一功能:
/*** 思路:                       *                              个*      十     百      千       万*      十万   百万    千万     亿 *      十亿   百亿    千亿    *                              *                              1*      2      3       4        5*      6      7       8        9   *      10* * 计算步骤* 1. 获取当前数值大小* 2. 排除个位后 数值按个,十,百,千有规律的重复 所以计算其和4的余数 pos % 4* 3. pos = 0 ~ 3 没有最大单位*    pos = 4 ~ 7 最大单位是万*    pos = 8 ~ 11 最大单位是亿* pos / 4 的整数就是最大单位* */
export function getAmountChinese(val) {let regexp = /[a-zA-Z]/if (!val && val !== 0) return ''if (Number(val) === 0) return '零元整'if (regexp.test(val)) return '数字较大溢出'const value = valif (val < 0) {val = Number(val.toString().split('-')[1])}const amount = +valif (Number.isNaN(amount)) return ''const NUMBER = ['零', '壹', '贰', '叁', '肆', '伍', '陆', '柒', '捌', '玖']const N_UNIT1 = ['', '拾', '佰', '仟']const N_UNIT2 = ['', '万', '亿', '兆']const D_UNIT = ['角', '分', '厘', '毫']let [integer, decimal] = amount.toString().split('.')if (integer && integer.length > 15) return '数字较大溢出'let res = ''// 整数部分if (integer) {let zeroCount = 0;for (let i = 0, len = integer.length; i < len; i++) {const num = integer.charAt(i);const pos = len - i - 1; // 排除个位后 所处的索引位置const q = pos / 4;const m = pos % 4;if (num === '0') {zeroCount++;} else {if (zeroCount > 0 && m !== 3) res += NUMBER[0];zeroCount = 0;res += NUMBER[parseInt(num)] + N_UNIT1[m];}if (m == 0 && zeroCount < 4) res += N_UNIT2[Math.floor(q)];}}if (Number(integer) != 0) res += '元'// 小数部分if (parseInt(decimal)) {for (let i = 0; i < 4; i++) {const num = decimal.charAt(i)if (parseInt(num)) res += NUMBER[num] + D_UNIT[i]}} else {res += '整'}if (value < 0) res = '负数' + resreturn res
}

http://www.lryc.cn/news/329005.html

相关文章:

  • 《QT实用小工具·二》图片文字转base64编码
  • Django安装及第一个项目
  • 专升本-物联网
  • 二叉树的遍历C语言
  • PostgreSQL到Doris的迁移技巧:实时数据同步新选择!
  • 【三维】关于万向节锁的直白解释
  • 程序员的修养 - 变量
  • 判断一个元素是否在可视区域中
  • 【Monero】Wallet RPC | Wallet CLI | 门罗币命令行查询余额、种子、地址等命令方法教程
  • FPGA----ZCU106的petalinux 2019.1使用USB传输数据
  • 备考ICA----Istio实验10---为单个主机配置TLS Istio Ingress Gateway实验
  • 【4】单链表(有虚拟头节点)
  • html第二次作业
  • Android客户端自动化UI自动化airtest从0到1搭建macos+脚本设计demo演示+全网最全最详细保姆级有步骤有图
  • 基于单片机的自动浇灌系统的设计
  • WebStorm 与 VSCode 对比分析
  • git命令-项目使用
  • python安装删除以及pip的使用
  • 7、鸿蒙学习-共享包概述
  • 亚马逊测评新策略:解决底层环境防关联,提升下单成功率
  • 容器和注解开发
  • 有趣且重要的JS知识合集(21)浏览器内置对象讲解之Dom篇
  • 3.两数相加 - 链表
  • iptables 与 firewalld 防火墙
  • Taskflow:异步任务(Asynchronous Tasking)
  • 学习鸿蒙基础(9)
  • spring boot的小数位丢失.00 或者.0
  • nginx如何清理页面缓存
  • 深度学习pytorch——经典卷积网络之ResNet(持续更新)
  • react 面试题(2024 最新版)