js把数字格式化为千分位兼容版,兼容小数(8,888.22)

站长软件开发1年前技术分享499
js把数字格式化为千分位兼容版,兼容小数(8,888.22)

js把任意数字格式化为千分位

/**
 * 格式化为千分位
 * @param num 当前值字符串
 * @returns 返回处理后的字符串
 * @isFixed 是否固定2位小数,默认固定
 */
function formatNum(num, isFixed = true) {
  if (
    (typeof num !== "string" && typeof num !== "number") ||
    num === "" ||
    num === null ||
    num === undefined ||
    num === "-"
  ) {
    return num;
  }
  let val = null;
  if (typeof num == "string") {
    val = Number(num).toFixed(2);
  } else {
    val = num.toFixed(2);
  }
 
  if (isFixed) {
    val = typeof num == "string" ? Number(num).toFixed(2) : num.toFixed(2);
  } else {
    val = Number(num || 0);
  }
  // 字符串转成数组
  val = val.toString().split(".");
  // \B 匹配非单词边界,两边都是单词字符或者两边都是非单词字符
  val[0] = val[0].replace(/\B(?=(\d{3})+(?!\d))/g, ",");
  // 数组转字符串
  val = val.join(".");
  // 返回结果
  return val;
}
console.log(formatNum(8888.11));//8,888.11


联系站长:

相关文章

vue history路由下,对ngnix服务配置修改防止出现404问题

vue history路由下,对ngnix服务配置修改防止出现404问题

打开配置文件: # 打开配置文件 vi /usr/local/nginx/conf/nginx.con 宝塔则点击域名在里面找到配置文件进去修改: 如果域名直接指向...

原生js把时间戳转为日期格式年月日时分秒

原生js把时间戳转为日期格式年月日时分秒

原生js把时间戳转为日期格式年月日时分秒function parsetime(timestamp){     let timelength...

js实用函数之map()函数的使用,一分钟学会

js实用函数之map()函数的使用,一分钟学会

重点:map() 方法定义在JavaScript的Array中,它返回一个新的数组,数组中的元素为原始数组调用函数处理后的值。值得注意的是:1、map()函数不会对空数组进行检测;2、map...

js使用正则表达式获取html字符串中的img标签的src组成数组

js使用正则表达式获取html字符串中的img标签的src组成数组

js使用正则表达式获取html字符串中的img标签的src组成数组exec() 方法用于检索字符串中的正则表达式的匹配。如果字符串中有匹配的值返回该匹配值,否则返回 null。var htm...

uniapp常用api整合

uniapp常用api整合

每次使用uniapp开发都有一些常用的api需要调用,直接写官方的api显的代码很杂乱,重复的太多,于是把这些常用的api整理起来,作为常用的工具挂载到vue对象上,这样在任何页面都可以用this获取...

js获取本月,本年,近一月,近3月,近1年的日期范围,获取近n月的日期范围

js获取本月,本年,近一月,近3月,近1年的日期范围,获取近n月的日期范围

js获取本月,本年,近一月,近3月,近1年的日期范围,获取近n月的日期范围function getnMonth(i) {   console.log(&quo...

发表评论    

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。