使用JavaScript将小写金额转化为大写金额的两种常见方法

导读:在一些支付或者银行确认信息中经常需要将小写金额转换为大写金额,这里做一下归纳,

 

目录

 

效果图:

方法一:使用正则表达式

方法二:常规JavaScript实现


效果图:

前面小写,后面大写,这里使用vue测试,其它框架同理.小写是传值的字段money,大写直接调用函数dealBigMoney(money) 即可.

方法一:使用正则表达式

dealBigMoney(n) {       if (!/^(0|[1-9]\d*)(\.\d+)?$/.test(n))return "数据非法";let unit = "千百拾亿千百拾万千百拾元角分", str = "";n += "00";let p = n.indexOf('.');if (p >= 0){n = n.substring(0, p) + n.substr(p+1, 2);unit = unit.substr(unit.length - n.length);
}for (var 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, "元整");}

模板调用

<el-col>{{money}}|{{dealBigMoney(money) }}</el-col>

方法二:常规JavaScript实现

 

/** 数字金额大写转换(可以处理整数,小数,负数) */  
dealBigMoney(n)   
{  var fraction = ['角', '分'];  var digit = ['零', '壹', '贰', '叁', '肆', '伍', '陆', '柒', '捌', '玖'];  var unit = [ ['元', '万', '亿'], ['', '拾', '佰', '仟']  ];  var head = n < 0? '欠': '';  n = Math.abs(n);  var s = '';  for (var i = 0; i < fraction.length; i++)   {  s += (digit[Math.floor(n * 10 * Math.pow(10, i)) % 10] + fraction[i]).replace(/零./, '');  }  s = s || '整';  n = Math.floor(n);  for (var i = 0; i < unit[0].length && n > 0; i++)   {  var p = '';  for (var j = 0; j < unit[1].length && n > 0; j++)   {  p = digit[n % 10] + unit[1][j] + p;  n = Math.floor(n / 10);  }  s = p.replace(/(零.)*零$/, '').replace(/^$/, '零')  + unit[0][i] + s;  }  return head + s.replace(/(零.)*零元/, '元').replace(/(零.)+/g, '零').replace(/^整$/, '零元整');  
} 

这种也是一样的,这种工具类还是比较好用的,如果有更好的方法欢迎留言!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/357208.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

h5-列表

<header> <!-- a,div,header,span {-webkit-tap-highlight-color: rgba(255, 255, 255, 0); /*修改a、input和button点击时的蓝色外边框和灰色半透明背景*/ } --><div class"header"> <!-- .header {height: 44px;background: #ff8200;position…

什么是突变测试?

最近&#xff0c;我反复提到“ 突变测试 ”一词。 因为可以说这种方法能够以超出代码覆盖范围的方式检测测试安全网的空白&#xff0c;所以我花了一些时间来追赶这个话题&#xff0c;然后尝试一下。 这篇文章总结了我的发现&#xff0c;作为对该主题的快速介绍。 什么是变异测…

JavaScript数组常用的方法总结

导读&#xff1a;在实际开发中&#xff0c;前端工程师除了写页面布局及样式还要对后端返回的数据进行处理&#xff0c;返回的数据大多数是json格式&#xff0c;一般都是返回一个对象或者数组&#xff0c;下面对常用的数组的使用方法进行总结&#xff0c;方便在开发中手到擒来&a…

Python黑魔法,一行实现并行化

Python 在程序并行化方面多少有些声名狼藉。撇开技术上的问题&#xff0c;例如线程的实现和 GIL&#xff0c;我觉得错误的教学指导才是主要问题。常见的经典 Python 多线程、多进程教程多显得偏“重”。而且往往隔靴搔痒&#xff0c;没有深入探讨日常工作中最有用的内容。 传统…

2. python 参数个数可变的函数

如果想要定义一个参数个数不确定的函数&#xff0c; 可以通过*args,**kwargs实现&#xff1a; *args的使用&#xff1a; **kwargs的使用&#xff1a; 二者的混合使用&#xff1a; 另外还有一些关于调用函数时候的时候常用的技巧&#xff1a; 其和是等价的。 其和是等价的 当然也…

JavaScript常用工具类整理(总结版)

导读&#xff1a;在前端开发过程中需要对常用的功能模块进行封装&#xff0c;常用的方法多次调用需要整合&#xff0c;保证组件的复用性与程序的可维护性&#xff0c;这里总结一下&#xff0c;便于后续的使用&#xff01; 目录 1.全局声明工具类 2.定时器 3.判断变量是否是一…

axis2 json_带有Java和Axis2的JSON Web服务

axis2 json我最近遇到一位客户&#xff0c;要求我使用Java Web服务重建其旧产品。 他们希望它模块化并且易于使用。 我想到的第一件事是使用宁静的方法。 但是让我烦恼的是&#xff0c;Java宁静的方法是使用XML !&#xff0c;我更喜欢一种更简单的通信方式&#xff0c;易于理解…

如何对技术视频转换文章投稿进行二次创作

导读&#xff1a;在技术社区经常会收到一些大的平台&#xff08;华为云博客、infoq等平台的投稿任务&#xff09;&#xff0c;经过对数千篇通用技术稿件&#xff0c;积攒了一些小技巧。所以&#xff0c;在你创作之前还是要好好的看一下&#xff0c;希望对你有帮助&#xff01;看…

iOS开发-UIScrollView原理

转载:http://www.cnblogs.com/xiaofeixiang/p/5144256.html UIScrollView 在开发中是不可避免&#xff0c;关于UIScrollView都有自己一定的理解。滚动视图有两个需要理解的属性&#xff0c;frame和bounds&#xff0c;frame是定义了视 图在窗口的大小和位置&#xff0c;bounds表…

边缘计算如何实现海量IoT数据就地处理

1.什么是IoT边缘&#xff1f;Gartner数据显示&#xff0c;到2021年底将有超过50&#xff05;的大型企业部署至少一个边缘计算应用&#xff1b;到2023年底&#xff0c;50&#xff05;以上的大型企业将至少部署6个用于物联网或沉浸式体验的边缘计算应用。工业一体机的售价一般在1…

《鸿蒙理论知识02》HarmonyOS开发平台和工具

目录 1.应用和开发工具的演进 2.超 级 终 端 应 用 开 发 面 临 全 新 挑 战

用Lucene建立搜索索引

本文是我们名为“ Apache Lucene基础知识 ”的学院课程的一部分。 在本课程中&#xff0c;您将了解Lucene。 您将了解为什么这样的库很重要&#xff0c;然后了解Lucene中搜索的工作方式。 此外&#xff0c;您将学习如何将Lucene Search集成到您自己的应用程序中&#xff0c;以…

twitter api_Java应用程序上的Twitter API

twitter api是否曾想过将推文附加到Java应用程序&#xff1f; 我为此寻找了最好的API&#xff0c;很幸运&#xff0c;我找到了它&#xff01; http://twitter4j.org/ 一个简单的方法&#xff1a; 我们需要做的第一件事是在您的Twitter帐户中创建一个应用程序&#xff0c;为其授…

垂直和水平装饰

装饰器模式是在不更改其接口的情况下向对象添加功能的最佳方法之一。 我经常使用可组合装饰器&#xff0c;并且总是会问自己在功能列表必须可配置时如何正确设计它们。 我不确定我的答案是否正确&#xff0c;但是这里有一些值得深思的地方。 公寓&#xff08;1960&#xff09;…

cygwin配置git

对于windows用户来说&#xff0c;使用git bash经常会出现乱码情况&#xff0c;那么一款优质高尚的软件&#xff0c;值得推荐一下了&#xff0c;那就是cygwin 下载cygwin后&#xff0c;在安装过程中&#xff0c;安装git&#xff0c;安装vim编辑器 然后会在安装目录下看到类linux…

前端代码规范网址导航(总结)

在大公司代码规范是非常重要的一件事情,多人协作,还有代码评审。所以能写出漂亮的代码非常重要。 这就好比你自己在家,无论是穿大裤衩子,还是背心,甚至是光膀子,都没人管你。但你要出门去约会,就要把最好的一面展现给别人。这是对别人的尊重,也是给自己的背书。所以遵…

JLupin Next Server乍一看

JEE基础结构现在有了一个新的管理解决方案– JLupin Next Server。 它为应用程序实现提供了另一种方法。 它提供什么&#xff1f; 用于实现JEE应用程序的现有解决方案受到限制。 通过新的应用程序管理方式&#xff0c;JLupin Next Server打破了所有障碍。 JEE的足迹 良好实践…

读《第一次把事情做对》有感

上班的时候&#xff0c;领导在群里发了一个PDF书籍《第一次把事情做对》&#xff0c;被这个书籍名称吸引住了&#xff0c;因为作为程序员每天有开发新任务&#xff0c;解决旧任务的BUG&#xff0c;第一次就把事情做的完全正确几乎不可能呀&#xff0c;觉得很有看的必要&#xf…

做了三年前端,你才知道10分钟就能实现一个PC版魔方游戏

导读&#xff1a;最近手头有点紧&#xff0c;看到很多小朋友都在玩魔方&#xff0c;又没有money买&#xff0c;只能自己用JavaScriptcss实现一个&#xff0c;在电脑端就能开启魔方之旅。 目录 项目启动演示 项目目录 ​源码地址 项目启动演示 前端使用JavaScript和纯CSS实现…

15K的前端应届毕业生,就因为掌握了这些知识点!(前端企业级开发必备)

目录 1.前端开发 下载安装VScode 优化配置 2、插件安装 3、设置字体大小 4、开启完整的Emmet语法支持 5、视图 2.Node.js 入门 2.1、什么是Node.js 2.2、Node.js有什么用 2.3、安装 下载&#xff1a; 2.4、快速入门 2.5、服务器端应用开发 3、ES6入门 3.2、let声…