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

【工具】前端js数字金额转中文大写金额

【工具】前端js数字金额转中文大写金额

代码

<!DOCTYPE html>
<html lang="zh">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>金额转大写</title><style>input {margin: 5px;padding: 10px;font-size: 16px;}</style>
</head>
<body><h1>金额转大写</h1><label for="amount">输入金额(整数或小数):</label><input type="text" id="amount" placeholder="请输入金额" oninput="convertToChinese()" /><br /><label for="amountInWords">大写金额:</label><input type="text" id="amountInWords" readonly /><script>function convertToChinese() {const amountInput = document.getElementById('amount');const amountInWords = document.getElementById('amountInWords');const amount = parseFloat(amountInput.value);if (!isNaN(amount)) {amountInWords.value = toChinaNum(amount);} else {amountInWords.value = '';}}function toChinaNum(number) {if (isNaN(number) || !isFinite(number)) {throw new Error('传值错误');}const fraction = ['角', '分'];const digit = ['零', '壹', '贰', '叁', '肆', '伍', '陆', '柒', '捌', '玖'];const unit = [['元', '万', '亿'],['', '拾', '佰', '仟']];let num = Math.abs(number);let s = '';const decimalPart = Math.floor((num * 100) % 100);fraction.forEach((item, index) => {s += (digit[Math.floor(decimalPart / (10 ** (1 - index))) % 10] + item).replace(/零./, '');});s = s || '';num = Math.floor(num);for (let i = 0; i < unit[0].length && num > 0; i += 1) {let p = '';for (let j = 0; j < unit[1].length && num > 0; j += 1) {p = digit[num % 10] + unit[1][j] + p;num = Math.floor(num / 10);}s = p.replace(/(零.)*零$/, '').replace(/^$/, '零') + unit[0][i] + s;}return s.replace(/(零.)*零元/, '元').replace(/(零.)+/g, '零').replace(/^元$/, '零元');}</script>
</body>
</html>


http://www.mrgr.cn/news/46993.html

相关文章:

  • java添加企微 群机器人 异常通知 流程
  • Notepad++上NppFTP插件的安装和使用教程
  • android 启用lint检查
  • Linux的基础IO
  • 新车月交付突破2万辆!小鹏汽车“激活”智驾之困待解
  • UnityDemo-TheBrave-制作笔记
  • JAVA中的线程控制
  • 画质修复怎么弄?这4个恢复照片清晰度的修复工具快收藏
  • vue3学习记录-watch
  • 智慧水利(数字孪生流域)建设方案
  • 从不同的细节察觉人的性格
  • A股热了,但黄金周实体经济的统计数字却有点凉
  • 地理空间数据共享资源,爱好者进
  • PELCO-D协议简介
  • python 实现双向A*算法
  • vue3实现登录获取token并自动刷新token进行JWT认证
  • 面试指南1009
  • mysql模糊查询优化
  • 数通--3
  • linux通过网络scp传文件
  • 2024最新版:大厂AI大模型面试题集锦及详解,非常详细收藏我这一篇就够了
  • 仿IOS桌面悬浮球(支持拖拽、自动吸附、自动改变透明度与点击、兼容PC端与移动端)
  • Umi中的微前端
  • 如何做好乡村文化传承与乡村经济发展
  • mmap和ioremmap解析
  • 揭秘地表水与地下水耦合的奥秘!基于QSWATMOD的SWAT-MODFLOW模拟