js方法-千位符 + 是否是数字

本文介绍两个JavaScript函数,一个用于添加千位分隔符,另一个用于检查是否为数字。setNoSeparate函数将数字转换为带有千位分隔符的字符串,而formatNo函数则用于格式化数字字符串,支持负数和指定小数位数。

/* 千位分隔符 /
function setNoSeparate (no) {
let num = no || 0;
let numArr = num.toString().split(’.’);
let integers = numArr[0].replace(/\B(?=(\d{3})+KaTeX parse error: Expected 'EOF', got '}' at position 108: …ls : integers; }̲ /* 取消千位分隔符 */ …) | (^-?[1-9][0-9]
)∣(−?01) | (^-?0{1})(?01)/).test(value + ‘’);
}
/*

  • @desc 转换成数字,可以输入负数或小数
  • @param {v} [String] 要转换的字符串
  • @param {places} [Number] 默认小数后两位
  • @return {b} [Boolean] true可以包括负数,false不包括负数
  • 触发事件只能是keyup事件
  • */
    function formatNo(v, places = 2, b=false) {
    const p = Number(places) + 1
    const _ = b ? ‘^\-’ : ‘’;
    const reg = new RegExp(’[^\d’ + _ + ‘^\.]’, ‘g’);
    v = String(v).replace(reg, ‘’);
    if (!v) return ‘’;
    let [ds, dl, ms, ml] = [v.indexOf(’.’), v.lastIndexOf(’.’), v.indexOf(’-’), v.lastIndexOf(’-’)];
    while (ds !== dl) {
    v = v.slice(0, dl);
    ds = v.indexOf(’.’);
    dl = v.lastIndexOf(’.’);
    }
    while (ms !== ml) {
    v = v.slice(0, ml);
    ms = v.indexOf(’-’);
    ml = v.lastIndexOf(’-’);
    }
    v = v.includes(’-’) && ms ? v.slice(0, ms) : v;
    v = v.startsWith(’.’) ? 0 + v : (v[0] === ‘-’ && v[1] === ‘.’) ? ‘-0’ + v.slice(ds) : v;
    return v.slice(0, v.includes(’.’) ? ds + p : v.length);
    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值