方法一

let num = 3333
num.toFixed(2).replace(/\d{1,3}(?=(\d{3})+(\.\d*)?$)/g,'$&,')
// 3,333.00

方法二:

// 金额格式化
function formatNumber(number, pattern, bNoZero, nZeroLen) {bNoZero = (eval(bNoZero) !== false);switch (pattern) {case 1:case "JE_2":pattern = '#,___.00'breakcase 2:case "JE":pattern = '#,___.00'breakcase 2:case "SL":pattern = '#,___#'breakcase "SL_1":pattern = '#,___.0'breakcase "SL_2":pattern='#___.00'if((number+"")=="") return ""breakcase 3:case "AREA" :pattern = '#,___.000'breakcase "SELF":return (number === 0 && bNoZero)? "" : numberbreakcase null:pattern = "#.00#"}var nZeroLen = parseInt(nZeroLen || "0")if (nZeroLen > 0 && pattern.indexOf('.') !== -1) {var sTmpFormat = ""var sFormatE = pattern.split('.')[1]sFormatE = sFormatE.replace(/0/ig, '')for (var i = 0; i < nZeroLen; i++) {sTmpFormat += "0"}pattern = pattern.split('.')[0] + "." + sTmpFormat + sFormatE}var bNig = (number < 0)number = Math.abs(number)if (number === 0 && bNoZero) return ""      var str = number.toString()var strIntvar strFloatvar formatIntvar formatFloatif (/\./g.test(pattern)) {formatInt = pattern.split('.')[0]formatFloat = pattern.split('.')[1]} else {formatInt = patternformatFloat = null}if(/\./g.test(str)) {if (formatFloat !== null) {var tempFloat = Math.round(parseFloat('0.' + str.split('.')[1]) * Math.pow(10, formatFloat.length)) / Math.pow(10, formatFloat.length)strInt = (Math.floor(number)+Math.floor(tempFloat)).toString()strFloat = /\./g.test(tempFloat.toString()) ? tempFloat.toString().split('.')[1] : '0'} else {strInt = Math.round(number).toString()strFloat = '0'}} else {strInt = strstrFloat = '0'}if (formatInt !== null) {var outputInt = ''var zero = formatInt.match(/0*$/)[0].lengthvar comma = nullif (/,/g.test(formatInt)) {comma = formatInt.match(/,[^,]*/)[0].length - 1}var newReg = new RegExp('(\\d{' + comma + '})', 'g')if (strInt.length < zero) {outputInt = new Array(zero + 1).join('0') + strInt;outputInt = outputInt.substr(outputInt.length - zero, zero)} else {outputInt = strInt}var outputInt = outputInt.substr(0,outputInt.length%comma)+outputInt.substring(outputInt.length%comma).replace(newReg, (comma !== null ? ',' : '') + '$1')outputInt = outputInt.replace(/^,/, '')strInt = outputInt}if (formatFloat !== null) {var outputFloat  = ''var zero = formatFloat.match(/^0*/)[0].lengthif (strFloat.length < zero) {outputFloat    = strFloat + new Array(zero + 1).join('0')//outputFloat    = outputFloat.substring(0,formatFloat.length);var outputFloat1 = outputFloat.substring(0, zero)var outputFloat2 = outputFloat.substring(zero,formatFloat.length)outputFloat  = outputFloat1 + outputFloat2.replace(/0*$/, '')} else {outputFloat = strFloat.substring(0, formatFloat.length)}strFloat = outputFloat} else {if (pattern !== '' || (pattern === '' && strFloat === '0')) {strFloat = ''}}var sData = strInt + (strFloat === '' ? '' : '.' + strFloat)return (bNig ? "-" : "") + sData
}alert(formatNumber(32323.444, "#,###.##"))
alert(formatNumber(32323.444, "JE"))

方法三:

// 转成人民币大写金额形式
export function numToZW(num) {// return numToRMB(num).replace(/零元整/ig,"").replace(/元.*/ig,"")return numToRMB(num)
}// 转成人民币大写金额形式
export function numToRMB(num) {var str1 = '零壹贰叁肆伍陆柒捌玖' // 0-9所对应的汉字var str2 = '万仟佰拾亿仟佰拾万仟佰拾元角分' // 数字位所对应的汉字var str3 // 从原num值中取出的值var str4 // 数字的字符串形式var str5 = '' // 人民币大写金额形式var i // 循环变量var j // num的值乘以100的字符串长度var ch1 // 数字的汉语读法var ch2 // 数字位的汉字读法var nzero = 0 // 用来计算连续的零值是几个num = Math.abs(num).toFixed(2) // 将num取绝对值并四舍五入取2位小数str4 = (num * 100).toFixed(0).toString() // 将num乘100并转换成字符串形式j = str4.length // 找出最高位if (j > 15) { return '溢出' }str2 = str2.substr(15 - j) // 取出对应位数的str2的值。如:200.55,j为5所以str2=佰拾元角分// 循环取出每一位需要转换的值for (i = 0; i < j; i++) {str3 = str4.substr(i, 1) // 取出需转换的某一位的值if (i !== (j - 3) && i !== (j - 7) && i !== (j - 11) && i !== (j - 15)) { // 当所取位数不为元、万、亿、万亿上的数字时if (str3 === '0') {ch1 = ''ch2 = ''nzero = nzero + 1} else if (str3 !== '0' && nzero !== 0) {ch1 = '零' + str1.substr(str3 * 1, 1)ch2 = str2.substr(i, 1)nzero = 0} else {ch1 = str1.substr(str3 * 1, 1)ch2 = str2.substr(i, 1)nzero = 0}} else { // 该位是万亿,亿,万,元位等关键位if (str3 !== '0' && nzero !== 0) {ch1 = '零' + str1.substr(str3 * 1, 1)ch2 = str2.substr(i, 1)nzero = 0} else if (str3 !== '0' && nzero === 0) {ch1 = str1.substr(str3 * 1, 1)ch2 = str2.substr(i, 1)nzero = 0} else if (str3 === '0' && nzero >= 3) {ch1 = ''ch2 = ''nzero = nzero + 1} else {if (j >= 11) {ch1 = ''nzero = nzero + 1} else {ch1 = ''ch2 = str2.substr(i, 1)nzero = nzero + 1}}}if (i === (j - 11) || i === (j - 3)) { // 如果该位是亿位或元位,则必须写上ch2 = str2.substr(i, 1)}str5 = str5 + ch1 + ch2if (i === j - 1 && str3 === '0') { // 最后一位(分)为0时,加上“整”str5 = str5 + '整'}}if (num === 0) {str5 = '零元整'}return str5
}

js 金额格式化 和 转成人民币大写金额形式相关推荐

  1. js千位符 | js 千位分隔符 | js 金额格式化

    js 千位分隔符 千位分隔符,其实就是数字中的逗号.依西方的习惯,人们在数字中加进一个符号,以免因数字位数太多而难以看出它的值.所以人们在数字中,每隔三位数加进一个逗号,也就是千位分隔符,以便更加容易 ...

  2. java金额转换函数_将阿拉伯数字转换成人民币大写形式的JAVA工具类

    http://wallimn.iteye.com/admin/blogs/365769 public class MoneyUtil { private final static String[] C ...

  3. js金额格式化,千分符,(好家伙!面试直接被问四次)

    前言 九十月份,在我的面试经历中,这道题算是比较高频的了,都是出现在初次视频面试的过程中 1.解题 得到一个number类型数据,将小数点前面的部分从右到左用","每三位隔开 例如 ...

  4. js金额格式化最简单方法 JS对货币格式化,js钱三位一隔,javascript货币格式化

    利用toLocaleString就解决了 customRender:function (text) {return (text).toLocaleString('en-US')}

  5. C#数字金额转人民币大写金额的实现

    要过年了,朋友圈里充斥着各种年的味道,还有一种特别的朋友圈今年格外显眼,好像一股气流冲击着我的小心脏,2022真的是太难了. 这里,专门为各位老板写了一套数字金额转人民币大写金额的实现方法,希望大家都 ...

  6. C#转换人民币大写金额

    /// <summary>/// 转换人民币大写金额./// </summary>public class RMBConverter{/// <summary>// ...

  7. 把数字金额转换成人民币大写[原创]

    最近在用这个博客,感觉博客园不错,以前用的是新浪的,感觉这个更好,所以好多东西现在转到这边来了. 下面是一个数字转人民币大写的类,不啰嗦了,下面是代码:  1    /**/ /// <summ ...

  8. c#金额转换成中文大写金额

    c#金额转换成中文大写金额 原文:c#金额转换成中文大写金额 2018-08-24 转别人 c#金额转换成中文大写金额 /// <summary>/// 金额转换成中文大写金额/// &l ...

  9. H5+JS+相对单位rem实现第三方支付页(输入金额+模拟数字键盘+自适应布局+大写金额)

    最近做了个第三方支付页,H5+JS+相对单位rem实现(输入金额+模拟数字键盘+自适应布局+大写金额). 源码github地址:https://github.com/XieTongXue/how-to ...

  10. 【C语言】小写数字金额转换成中文大写金额

    1. 更新说明 添加与 "零圆整" 等价的预先判断 (0 / 0. / 0.0 / 0.00 / . / .0 / .00) 修复了因使用函数 strdup 导致的内存泄漏 除去输 ...

最新文章

  1. 静态程序分析chapter1 - 概述和两个重要步骤
  2. 运维人员应该掌握哪些常用技术
  3. Windows MObile中ListView控件的用法详解
  4. 阿里云服务器18个数据中心测试IP地址以及测试方法
  5. 如何编写一个d.ts文件
  6. 华为机试HJ26:字符串排序
  7. mac 卸载ssh 重新安装mysql,linux下彻底卸载MySQL
  8. ae效果英文版翻译对照表_AE中英文对照
  9. h5 字体加粗_html、css文字加粗方法
  10. 那个程序员的 Linux 常用软件清单 | Linux 工具篇
  11. mysql 5.7 安装tokudb_安装Percona-Server-5.7.18+tokudb
  12. android 自定义吐司,[Android开发]Android 自定义Toast
  13. Android 贝塞尔曲线的魅力
  14. 工作多少年,在哪个行业,可以拿到年薪50万+
  15. jellyfin 字幕方框问题
  16. Python-知识点Demo练习
  17. android音乐播放器开发 SweetMusicPlayer 实现思路
  18. C语言函数没有return时会返回什么
  19. Java 基础巩固:再谈抽象类和接口
  20. Day1 Java读取二进制文件

热门文章

  1. js中new一个对象的过程
  2. 各行业赫芬达尔指数表(2013-2018年)
  3. Zemax操作--9(全局坐标设定及使用方法)
  4. 已知元器件名,AD原理库快速查找元器件
  5. c语言程序隔断,别再砌墙了!20种方法让隔断在你家C位出场
  6. 还在用 ZXing ? 试试华为统一扫码服务吧!
  7. 基于BIM+3DGIS的智慧城市基础设施管理
  8. mysql数据库练习题(含答案)
  9. PackageManager hasSystemFeature
  10. 三维全景拍摄这些技巧很实用