资讯专栏INFORMATION COLUMN

数字的千位分隔符实现

ssshooter / 542人阅读

摘要:常常见到这种场景,数字比较大时每隔位用逗号分隔开思路就是如果是小数的话先用分开得到整数部分,然后反转整数部分的字符串用正则每个数字加一个逗号然后再反转回去拼接上小数部分。

常常见到这种场景,数字比较大时每隔3位用逗号分隔开

思路就是如果是小数的话先用split分开得到整数部分,然后反转整数部分的字符串用正则每3个数字加一个逗号然后再反转回去拼接上小数部分。

在网上看到了一种实现代码,这个正则还没看懂:

function toThousands(str) {
    return str.replace(/B(?=(d{3})+(?!d))/g, ",");
}
toThousands("12345678912.12345");
toThousands("12345678912");

以下是我的实现代码

  function fillNumberWithComma(num) {
        num += "";
        if(/^-?d+(.d+)?$/.test(num)) {   //确认是数字
            var segments = num.split(".");
            return segments[0].split("").reverse().join("").replace(/(d{3})/g, "$1,").split("").reverse().join("") + (segments[1] ? "." + segments[1] : "");
        }
        return false;
    }
    
    fillNumberWithComma(12345678.12345);

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/82263.html

相关文章

  • Java™ 教程(格式化流)

    格式化流 实现格式化的流对象是PrintWriter(字符流类)或PrintStream(字节流类)的实例。 你可能需要的唯一PrintStream对象是System.out和System.err(有关这些对象的更多信息,请参阅命令行中的I/O),当你需要创建格式化的输出流时,请实例化PrintWriter,而不是PrintStream。 与所有字节和字符流对象一样,PrintStream和Pri...

    Render 评论0 收藏0
  • 原生js之千位隔符(包括小数情况)

    摘要:同学前端面试遇到这么一个题目给数字添加千分位分隔符一拿到他给的面试题,感觉挺容易的,不过等自己写后发现非常考虑逻辑,以及思维能力我是小白上网百度了一波全是用正则表达式来解决的,正则这块我只懂皮毛,所以感觉有点看不明白,不过这个博客解释挺清楚 同学前端面试遇到这么一个题目 :给数字添加千分位分隔符 一拿到他给的面试题,感觉挺容易的,不过等自己写后发现非常考虑逻辑,以及思维能力(我是小白)...

    msup 评论0 收藏0
  • Python——基本数据类型(模块2: time库的使用)(实例3:文本进度条)

    摘要:前言本篇主要介绍基本数据类型,以文本进度条为例,介绍库的使用。 前言 本篇主要介绍基本数据类型,以文本进度条为例,介绍time库的使用。 并在最后对蟒蛇绘制的代码进...

    Jenny_Tong 评论0 收藏0
  • [PHP源码阅读]number_format函数

    摘要:上次讲到是如何解析大整数的,一笔带过了的处理,再详细阅读该函数的源码,以下是小分析。总结阅读完这个函数的源码,学习到的是浮动数与字符串的互相转换的实现细节,字符串与浮点数之间的关系较复杂,之后还要继续学习。 上次讲到PHP是如何解析大整数的,一笔带过了number_format的处理,再详细阅读该函数的源码,以下是小分析。 函数原型 string number_format ( flo...

    itvincent 评论0 收藏0
  • 给一个数值加千位分隔

    摘要:递归思路是在小数点前数位数如果没有小数点则以最后一位计算,添加,递归,在第一个逗号前数位再添加。 想要的效果:123456789.123 --> 123,456,789.123直接贴代码: function splitK(num) { var decimal = num.split(.)[1] || ;//小数部分 var tempArr = []; var revNumA...

    lunaticf 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<