美文网首页
千位分隔符

千位分隔符

作者: 林键燃 | 来源:发表于2018-10-15 12:12 被阅读7次

    描述

    给定一串纯数字,从个位开始以3位数字为一个单位以 ',' 分隔开来,最后返回一个字符串

    实现

    return number.toString().replace(/\B(?=(\d{3})+$)/g,',')
    

    详解

    '\B' 表示非单词边界。它匹配一个前后字符都是相同类型的位置,即它的位置位于两个字符中间。举例:

    let number = 123
    console.log(number.toString().replace(/\B/g,',')) //1,2,3
    

    'x(?=y)' 表示正向查找,匹配 'x' 当且仅当 'x' 后面跟着 'y'。举例:

    // 需求:在 3 和 5 插入 ‘,’
    // 如果 \B 后面跟着 3或5 则将其替换为 ‘,’ 
    let number = 123456
    console.log(number.toString().replace(/\B(?=(3|5))/g,',')) // 12,34,56
    

    '(\d{3}+$)':以3个数字为一个单位直至结尾,结尾必须是3个数字,像是从后往前数

    • '\d'表示数字;
    • '{3}'表示数量为3个;
    • '+'表示一个或者一个以上;
    • '$'表示结尾;

    结论

    给定一串数字(不保存小数),从后面往前数,以三个数字为一个单位添加 ',' 作为分隔符

    相关文章

      网友评论

          本文标题:千位分隔符

          本文链接:https://www.haomeiwen.com/subject/qwhfzftx.html