本文演示了将数字
转换为一千位的
方法的Javascript实现,供大家
参考,如下所示:
虽然离春节还有两个月,春节抢票已经开始了。悲剧是我还没有抓住那张票。当我在
浏览器上看到这个数字时,我想到了一个经典的面试问题,是的,这是成千上万的分数。例如,有很多方法可以把数字87463297变成87463297,我只想到5。
1,使用规则的零宽度预测前向断言(=)。这个
名字有点难以记住。这意味着在断言其
位置之后,它可以匹配表达式。它可以贴在这里,这是不够明确。数字第一千的特点是,第一个逗号后面的数字的个数是3的倍数,规则: /( D { 3 })+ $ /;在你最多可以有1个到3个数字,规则第一个逗号: / / 3 D { }。总计达 / D { 1,3 }( D { 3 })+ $ /分隔符,从前到后,将在87号前,取而代之的是87, 87,为什么不是874呢因为874后面只有5个数字。经过632加一个分离器,它只会离开97,这不符合千位的要求。因此,第一个分隔符之后的位数必须是3倍。要匹配数字87,并确保87位数字的数目为3,并且匹配87到87,则必须使用(=)。这里我们定义一个变量var = 87463297。
零宽度断言
Console.info(str.replace(( D { 3 })( / D { } = + 1美元)/ G
函数(){
返回+,
}))
2。取而代之的是常规项目,类似于第一个方法。
子项
Console.info(str.replace(( D { 1,3 })/(=( D { 3 })+ $)/ g,
功能(1美元){
返回$ 1 = $ 1 + ','
}))
3,首先将字符串转换成数组。在使用反向反转数组之后,将每3个数字添加一个分隔符,除了字符串的结尾,然后再返回字符串。
使用字符串和数组方法
Console.info(str.split()。反()。加入()。更换( /( D { 3 })+ / G函数(){
返回
}
4。使用while循环拼接字符串来添加一个分隔符,每3个数字,而不是结束和结束。
循环字符串每3加一个分隔符
var结果
索引= 0,
str.length-1 len =;
当(= = 0){
指数% 3 = = = 0index!= 0结果
莱恩-;
索引+;
};
结果:result.split()。反()。加入();
console.info(结果);
5,在循环使用数组推送分隔符时,第一个和结束部分不添加。
在循环分隔符数组中使用while循环
var结果
索引= 0,
str.length len =,
我= len-1,
ARR = str.split();
当(索引> > 0){
Len > = indexlen指数!= = Len arr.splice(Len指数0,
索引= 3;
I = 4;
};
console.log(arr.join());
结论:第一种方法是最简洁、
性能最好的,
推荐使用。顺便说一下,用演示源码
下载的所有例子,如果还有其他更好更方便的方式告诉我,谢谢!
有关感兴趣的读者的Javascript相关内容的更多信息可以看到站点:特殊的数学Javascript
希望本文能对javascript
程序设计有所帮助。