使用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(/^整$/, '零元整');
}
这种也是一样的,这种工具类还是比较好用的,如果有更好的方法欢迎留言!
使用JavaScript将小写金额转化为大写金额的两种常见方法相关推荐
- JavaScript监听手机物理返回键的两种解决方法
JavaScript监听手机物理返回键的两种解决方法 参考文章: (1)JavaScript监听手机物理返回键的两种解决方法 (2)https://www.cnblogs.com/xzzzys/p/8 ...
- python 小写金额转化为大写金额
# -*- coding: utf-8 -*- def Num2MoneyFormat(change_number):""".转换数字为大写货币格式( format_wo ...
- 工具篇——MoneyFormatUtil(用于将人民币小写金额转换成大写金额)
写代码的四点: 1.明确需求.要做什么? 2.分析思路.要怎么做?(1,2,3--) 3.确定步骤.每一个思路要用到哪些语句.方法和对象. 4.代码实现.用具体的语言代码将思路实现出来. 学习新技术的 ...
- PB中小写金额转换成大写金额(发票类型)
PB中小写金额转换成大写金额 //================================================================= // 功能:小写金额转换成大写金额 ...
- Java工具包:小写金额转换成大写金额
源代码如下 package com.jian.stringUtil;/*** 工具类:小写金额转换成大写金额* * @author jianxuanbing* */ @SuppressWarnings ...
- 小写金额转换成大写金额的函数
编写一个收费软件时要用到一个小写金额转换成大写金额的函数,我曾在网上找到一个用Powerbuilder写的函数,长达四五十行之巨,后来我自己用DELPHI写了一个函数,寥寥几行代码就搞定: funct ...
- javascript控制页面控件隐藏显示的两种方法
javascript控制页面控件隐藏显示的两种方法,方法的不同之处在于控件隐藏后是否还在页面上占位 方法一: document.all<"PanelSMS">.styl ...
- 将数组转化成字符串的两种方法
将数组转化成字符串的两种方法 let arr = [1,2,8,9,'西瓜']; console.log(arr.toString());//将数组转化为字符串 console.log(arr.toS ...
- 使用javabean把小写金额转换成大写金额
public static void main(String[] args) {moneyConversion mc=new moneyConversion();String money=" ...
- 将数字金额转化为大写金额,且数字金额最多只保留两位小数
采用element ui 中的input框实现,填写小写金额,自动实现大写金额 截图: 代码: 数字转大写金额实现: export function dealBigMoney(n) {var frac ...
最新文章
- PAT甲级1092 To Buy or Not to Buy :[C++题解]哈希表
- struct类型重定义 不同的基类型_汇总贴:STEP7的复杂数据类型有哪些?
- inotifywait监听php,利用inotifywait监控主机文件和目录
- android 论坛_如何看待百度android吧萎靡现象与吧主的无所作为
- linux修改hostname
- 电子商务网站 数据库产品表设计方案
- clipse中运行maven提示org/apache/maven/cli/MavenCli : Unsupported major.minor version 51.0
- 机器视觉:基于压缩方式的视频采集卡的两大类别
- linux内核之进程调度
- 心上莲花:佛教简介(上)
- 微信小程序--数据列表
- Oracle Study之--Oracle 11g RAC添加节点错误
- java年轻代和年老代默认比值_JAVA中的GC以及年轻代,年老代,持久代的认识
- 摄氏度符号英文计算机语言,英语符号
- 共享汽车死亡前仆后继,巨头们要排队共赴黄泉?
- 《CLR via C#》读书笔记---06 类型和成员基础
- 外汇天眼:英国央行大举介入债市,为何未能提振英镑?
- sql查询字符串截取方法
- python监控端口流量_监控网卡流量python代码
- android 点击按钮的奇数次_java简单的判断奇偶数方法(i 1) != 0 i为奇数
热门文章
- macOS如何刷新DNS缓存
- 5步绘制软件开发流程图
- python反编译dll_是否可以反编译.dll / .pyd文件以提取Python源代码?
- 永中office之在线预览(vue/js版)
- Axure RP入门知识-基础功能介绍
- 什么是 Widevine 数字版权管理 (DRM),它为什么重要
- 微x怎么设置主题_微话题:小区设置公共晾衣架,您怎么看?您有什么建议?...
- 三菱凌云3故障代码_三菱凌云III电梯通讯故障处理
- 不懂什么是 Java 中的锁?看看这篇你就明白了!
- 计算机cmd卸载软件,一招让你学会,在win10命令提示符上卸载程序