封装的函数小工具

// 部分为网上借用,以方便本人复查使用。

// 数字格式化 如: 123,456.78
function formatter_k(num) {
    const str = num.toString(); // 转字符串
    const val = str.replace(/\d+/, (n) => {
        return n.replace(/(\d)(?=(\d{3})+$)/g, ($1) => $1 + ",");
    });
    return val;
}

// 科学计数法(带负数)
function F_E(number, decimal = 2) {
    var num = "";
    var minus = "";
    if (number < 0) minus = "-";
    number = Math.abs(number);
    if (number < 1e3) {
        num = number;
    } else if (number >= 1e3 && number < 1e6) {
        num = formatDecimal(number / 1e3, decimal) + "K";
    } else if (number >= 1e6 && number < 1e9) {
        num = formatDecimal(number / 1e6, decimal) + "M";
    } else if (number >= 1e9) {
        num = formatDecimal(number / 1e9, decimal) + "B";
    }
    return `${minus}${num}`;
}
function formatDecimal(num, decimal) {
    num = num.toString()
    var index = num.indexOf('.')
    if (index !== -1) {
        num = num.substring(0, decimal + index + 1)
    } else {
        num = num.substring(0)
    }
    return parseFloat(num).toFixed(decimal)
}
//将0-9的数字前面加上0,例2变为02
function checkTime(i) {
    if (i < 10) {
        i = "0" + i;
    }
    return i;
}

// 去掉小数点后面多余的0
function cutZero(old) {
    //拷贝一份 返回去掉零的新串
    var newstr = old; //循环变量 小数部分长度
    var leng = old.length - old.indexOf(".") - 1; //判断是否有效数
    if (old.indexOf(".") > -1) {
        //循环小数部分
        for (var i = leng; i > 0; i--) {
            //如果newstr末尾有0
            if (newstr.lastIndexOf("0") > -1 && newstr.substr(newstr.length - 1, 1) == 0) {
                var k = newstr.lastIndexOf("0"); //如果小数点后只有一个0 去掉小数点
                if (newstr.charAt(k - 1) == ".") {
                    return newstr.substring(0, k - 1);
                } else {
                    //否则 去掉一个0
                    newstr = newstr.substring(0, k);
                }
            } else {
                //如果末尾没有0
                return newstr;
            }
        }
    }
    return old;
}

// 换行符实现
function replaceBr(text, lan) {
    if (text) {
        return text.replace(/\r\n/g, "<br/>");
    }
}

// 获取十位数
function setTenDigits(str) {
    let num = parseInt(str)
    let n = 0;
    if (num < 10) {
        n = 0
    } else if (num >= 10 && num < 100) {
        n = parseInt(num / 10)
    } else {
        let num_str = num.toString().split('')
        n = num_str[num_str.length - 2]
    }
    return n;
}
// 获取个位数
function setSingleDigits(str) {
    let num = parseInt(str)
    let num_str = num.toString().split('')
    let n = num_str[num_str.length - 1]
    return n;
}

// 排序:默认降序排序,有参数时候做升序,无参数做降序排序
function compareAttr(property, type) {
    type = type || 'ab'
    if (type == 'ab') {
        return function (a, b) {
            return b[property] - a[property];
        };
    } else {
        return function (a, b) {
            return a[property] - b[property];
        };
    }
}

posted @ 2023-09-10 17:49  半遮  阅读(1)  评论(0编辑  收藏  举报