javascript 保留N位&删除小数末尾多余的0&解决科学计数法

JS实现去除小数末尾多余的0

str 为字符串

function toPrecision(str) {
    
    
    if (!Boolean(str)) return '0';
    if (!(/^[0-9.]+$/g.test(str))) return '0';
    while (str.includes(".") && (str.endsWith('.') || str.endsWith('0'))) {
    
    
    str = str.slice(0, -1)
  }
    return str
}

//‘10.00000100000’ ‘10.000001’
//‘0.0010100’ ‘0.00101’
//‘0.001a’ ‘0’


加入保留N位的方法:
num为数字, len指保留位数.

function toPrecision(num, len) {
    
    
    let str = num.toFixed(len);
    if (!Boolean(str)) return '0';
    if (!(/^[0-9.]+$/g.test(str))) return '0';
    while (str.includes(".") && (str.endsWith('.') || str.endsWith('0'))) {
    
    
        str = str.slice(0, -1)
    }
    return str
}

tips:同时调用多次或者间隔时间短问题 可以使用定时器 invoke/settimeout
假设 忍耐时间为1s 1s内出现调用,重置定时器(取消上次的,重新开一个定时器),这样可以过滤多余调用

猜你喜欢

转载自blog.csdn.net/kuilaurence/article/details/116069911
今日推荐