手机版

用javascript将数字转换成千的方法总结[5种方法]

时间:2021-09-07 来源:互联网 编辑:宝哥软件园 浏览:

本文说明了用javascript将数字转换成千的方法。分享给大家参考,如下:

虽然距离过年还有两个月,但春运抢票大战已经打响。可悲的是,我还没有抢到票。当我在浏览器上看到这些数字时,我想到了一个经典的面试问题。是的,数字变成了数千。如果把87463297这个数字改成87463297,方法很多,这里我只想到五种。

1、使用规则的零宽度正向预测第一个断言(?=exp),这个名字有点难记,这意味着它断言表达式exp可以在它出现的位置后面匹配。如果不理解这个概念,可以戳这里,不要解释太多。数字千的特点是第一个逗号后的位数是3的倍数,是正则的:/(\ d { 3 })$/;第一个逗号前最多可以有1到3个数字,这是常规的:/\d{1,3}/。加起来就是/\d{1,3}(\d{3}) $/。如果要从前到后加分隔符,应该把前面的数字“87”换成“87”,为什么是87而不是874?因为874后只剩下5位,加上632后的分隔符后,就只剩下97位了,不满足千位数的要求,所以第一个分隔符后的位数必须是3的倍数。要匹配数字87,需要保证87后的位数是3的倍数,要将匹配的87替换为“87”,需要使用(?=exp),这里首先定义一个变量var str=' 87463297

//零宽度断言console . info(str . replace)(/\ d { 1,3}(?=(\ d {3}) $)/g,函数{return s ',' })2。替换为常规子项,类似于第一种方法。

//子控制台. info(str . replace)(/(\ d { 1,3})(?=(\ d {3}) $)/g,函数($1) {return $1=$1 ',' })3。首先,将字符串转换为数组,反转数组,然后在每三个数字后添加一个分隔符" ",除了字符串的末尾,然后将字符串反转。

//使用字符串和数组方法console.info (str.split(')。反转()。连接(“”)。替换(/(\ d {3})?/g,函数{ return s ',';}).替换(/,$/,' ')。拆分(“”)。反转()。join(“”)4。使用while循环拼接字符串,并每3个数字添加一个分隔符,没有开头或结尾

//添加分隔符var result=' ',index=0,len=str。长度-1每三个字符串通过循环拼接;while(len=0) { index%3===0index!==0 ?result=',' str[len]: result=str[len];len-;指数;};result=result.split(')。反转()。join(' ');console.info(结果);5.使用while循环推送数组中的分隔符,而不在开头和结尾添加分隔符

//使用while循环推送分隔符var result=' ',index=0,len=str。长度,I=len-1,arr=str。数组中的拆分(“”);while(len-index 0){ len=index len-index!==len arr.splice(len-index,0,',');索引=3;I-=4;};console . log(arr . join(“”));结论:第一种方法最简洁,性能最好,建议使用。请告诉我是否有其他更好更方便的方法。谢谢大家!

更多对JavaScript相关内容感兴趣的读者可以查看本网站的主题:《JavaScript数学运算用法总结》、《JavaScript中json操作技巧总结》、《JavaScript切换特效与技巧总结》、《JavaScript查找算法技巧总结》、《JavaScript动画特效与技巧汇总》、《JavaScript错误与调试技巧总结》、《JavaScript数据结构与算法技巧总结》、《JavaScript遍历算法与技巧总结》、0103010。

希望本文对JavaScript编程有所帮助。

版权声明:用javascript将数字转换成千的方法总结[5种方法]是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。