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

站长软件开发4个月前技术分享88
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


联系站长:

相关文章

【JavaScript】js获取当前年月日周

【JavaScript】js获取当前年月日周

【JavaScript】js获取当前年月日周function getcurtime(){     const addZero =...

uniapp富文本编辑器editor的使用,复制可用

uniapp富文本编辑器editor的使用,复制可用

关于uniapp富文本编辑器editor的使用,我会把HTML,css,js三部分代码都完整列出来,其实也是一个总结,因为官方教程有些不是很清楚,这里总结一下,方便大家使用:1、html部分:<...

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

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

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

php根据id和pid把单级数组重新组合为树结构

php根据id和pid把单级数组重新组合为树结构

function list_to_trees($list, $pk='id', $pid = 'pid', $child =&nb...

css显示三行文字,溢出显示省略号

css显示三行文字,溢出显示省略号

css显示三行文字,溢出显示省略号(显示任意行,可以把数字3替换成其他数字):.text-wrap {   display: -webkit-box; &n...

uniapp常用api整合

uniapp常用api整合

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

发表评论    

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