js实现金额千分位显示

function numberFormat (number, decimals, decPoint, thousandsSep, roundtag) {
  /*
      * 参数说明:
      * number:要格式化的数字
      * decimals:保留几位小数
      * dec_point:小数点符号
      * thousands_sep:千分位符号
      * roundtag:舍入参数,默认 ‘ceil‘ 向上取,‘floor‘向下取,‘round‘ 四舍五入
      * */
  number = (number + ‘‘).replace(/[^0-9+-Ee.]/g, ‘‘)
  roundtag = roundtag || ‘ceil‘ // ‘ceil‘,‘floor‘,‘round‘
  var n = !isFinite(+number) ? 0 : +number
  var prec = !isFinite(+decimals) ? 0 : Math.abs(decimals)
  var sep = (typeof thousandsSep === ‘undefined‘) ? ‘,‘ : thousandsSep
  var dec = (typeof decPoint === ‘undefined‘) ? ‘.‘ : decPoint
  var s = ‘‘
  var toFixedFix = function (n, prec) {
    var k = Math.pow(10, prec)
    console.log()

    return ‘‘ + parseFloat(Math[roundtag](parseFloat((n * k).toFixed(prec * 2))).toFixed(prec * 2)) / k
  }
  s = (prec ? toFixedFix(n, prec) : ‘‘ + Math.round(n)).split(‘.‘)
  var re = /(-?\d+)(\d{3})/
  while (re.test(s[0])) {
    s[0] = s[0].replace(re, ‘$1‘ + sep + ‘$2‘)
  }

  if ((s[1] || ‘‘).length < prec) {
    s[1] = s[1] || ‘‘
    s[1] += new Array(prec - s[1].length + 1).join(‘0‘)
  }
  return s.join(dec)
}
console.log(numberFormat(100000.00, 2, ‘.‘, ‘,‘)) // ‘100,000.00‘

原文地址:https://www.cnblogs.com/cuixiaozhen/p/10112525.html

时间: 2024-10-11 06:52:36

js实现金额千分位显示的相关文章

js jquery版本的 金额千分位转换函数(非正则,效率极高)

没想到js里面没有 金额千分位格式化的处理函数(例:1,234.01 这样的格式),网上搜了一圈,都是使用正则的方式处理的.正则的效率不敢恭维啊,又耗费资源速度又慢(虽然处理起来会直观一些). 因此专门写了一个纯数值处理最后输出字符串个 金额千分位处理函数,并封装成jQuery函数包,处理时效率很高,可高频率的使用,直接上代码.还有min压缩版本可点击连接下载. 如果你不是jQuery环境,直接把源码拿出来,重新封装到自己的函数中能够就能用. 源码以及min包下载地址:jQuery.format

[js开源组件开发]数字或金额千分位格式化组件

数字或金额千分位格式化组件 这次距离上一个组件<[js开源组件开发]table表格组件>时隔了一个月,由于最近的项目比较坑,刚挖完坑,所以来总结性提出来几个组件弥补这次的空缺,首先是金额和数字的千分位和小数点控制的组件,它的作用主要是在输入框时限制输入的内容为数字.也可以用于普通标签的数字格式化,效果如下图: demo演示地址请点击 http://www.lovewebgames.com/jsmodule/format-number.html 源码github托管地址请点击https://gi

金额 千分位的分割方法

用js实现如下功能,将给定的数字转化成千分位的格式 字符串方式 function formatMoney(money) { //转为字符串 用字符串方法来实现 let str = money.toString(); let last = ''; //三位数以上的数据才进行格式化 while (str.length > 3) { //每次取末三位子字符串放到一个新的空字符串里并拼接上之前的末三位 //(slice第一个参数传负数,代表从尾部开始截取该个数) last = ',' + str.sli

ios中数字的格式化(金额千分位格式化显示)

通过NSNumberFormatter,设置NSNumber输出的格式 NSNumberFormatter *formatter = [[NSNumberFormatteralloc]init]; formatter.numberStyle =NSNumberFormatterDecimalStyle; NSString *newAmount = [formatterstringFromNumber:[NSNumbernumberWithint:123456789]]; (注意传入参数的数据长度

AngularJs 输入框千分位指令

AngularJs的指令真的特别好用,最近需要对input框千分位显示逗号,在网上搜集了下资料并做了改良, 指令代码如下: (function () { 'use strict'; angular.module('testModule') .directive('formatInputValue', function ($parse) { return { link: function (scope, element, attrs, ctrl) { function limit() { var

js千分位的函数

不错的js千分位函数,适用于将金额每3位用“,”分隔 /*for price using thousands separator */ function fprice(s,n){ s = parseFloat((s + "").replace(/[^\d\.-]/g, "")).toFixed(n) + ""; //n为小数点后保留小数位 var l = s.split(".")[0].split("").

JavaScript加减计算方法和显示千分位

Math.formatFloat = function (f, digit) { var m = Math.pow(10, digit); return parseInt(f * m, 10) / m; }; 使用:var fee = Math.formatFloat(Number(a) + Number(b), 8).toFixed(2); function formatThousand(num) { num = num + ""; var re = /(-?\d+)(\d{3})/

js中如何将数据获得2位小数以及对数据进行千分位划分

js中toFixed(n) 方法可把 数字四舍五入为指定小数位数n的数字,注意:这个方法只能对数据类型为Number的数据起作用,包括float,int等.例如: 123.12345.toFixed(2); "123.12" 对数据进行千分位划分采用这样的一个语句就行了:.replace(/\d{1,3}(?=(\d{3})+(\.\d*)?$)/g, '$&,').注意:replace()方法只能对字符串类型起作用,而我们队数据进行千分位划分的时候通常是对数值进行划分,因此在

封装js千分位加逗号和删除逗号

原文:封装js千分位加逗号和删除逗号 //封装js千分位加逗号和删除逗号 alert( format(2545678754.020001) ) //2,545,678,754.03 alert( format(-2545678754.020001) ) //-2,545,678,754.02 alert( format(2545678754.000000000009) ); //当值很长的时候会出现数字被截取的问题 alert( delformat('2,545,678,754.03') );