JS實現千分位

方法一:正則實現

function format (num) {  var reg=/\d{1,3}(?=(\d{3})+$)/g;   return (num + '').replace(reg, '$&,');  
}

  解釋:

  1、正則表達式 \d{1,3}(?=(\d{3})+$) ?表示前面有1~3個數字,后面的至少由一組3個數字結尾

  2、?=表示正向引用,可以作為匹配的條件,但匹配到的內容不獲取,并且作為下一次查詢的開始

  3、$& 表示與正則表達式相匹配的內容,具體的可查看?w3school的replace()方法

  運行的過程看下圖:假如有數字13123903243,則正則表達式查找與替換的過程,如下圖所示

方法二:for循環正常思維算法

function format(num){  num=num+'';//數字轉字符串  var str="";//字符串累加  for(var i=num.length- 1,j=1;i>=0;i--,j++){  if(j%3==0 && i!=0){//每隔三位加逗號,過濾正好在第一個數字的情況  str+=num[i]+",";//加千分位逗號  continue;  }  str+=num[i];//倒著累加數字
  }  return str.split('').reverse().join("");//字符串=>數組=>反轉=>字符串  
} 

方法三:slice+while循環

function format(num) {var arr = [],str = num + '',count = str.length;while (count >= 3) {arr.unshift(str.slice(count - 3, count));count -= 3;}// 如果是不是3的倍數就另外追加到上去str.length % 3 && arr.unshift(str.slice(0, str.length % 3));return arr.toString();
}

方法四:reduce版

function format(num) {var str = num+'';// ["8", "7", "6", "5", "4", "3", "2", "1"]return str.split("").reverse().reduce((prev, next, index) => {return ((index % 3) ? next : (next + ',')) + prev;})
}
console.log(format(12345678));

?

轉載于:https://www.cnblogs.com/goloving/p/9393556.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/279723.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/279723.shtml
英文地址,請注明出處:http://en.pswp.cn/news/279723.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

白色褲子為什么會沾上藍色_什么是藍色的,為什么它可以在Mac上運行?

白色褲子為什么會沾上藍色You’re looking through Activity Monitor when you notice a process called blued. Should you be worried that this is running? No: it’s the process that powers Bluetooth on your Mac. 當您發現一個名為blued的進程時,您正在瀏…

ThreadLocal源碼剖析

。。轉載于:https://www.cnblogs.com/Joy-Hu/p/10677434.html

Linux移植之內核啟動過程引導階段分析

在Linux移植之make uImage編譯過程分析中已經提到了uImage是一個壓縮的包并且內含壓縮程序,可以進行自解壓。自解壓完成之后內核代碼從物理地址為0x30008000處開始運行。下面分析在進入C之前內核做的一些工作,以下是內核啟動過程中打印出來的信息&#x…

阿里開源HTML5小游戲開發框架Hilo實戰教程

前言 開發基于Html5的小游戲并不困難,基本思路就是使用Html5的canvas進行游戲圖像繪制,通過監聽Dom元素的touch事件并觸發相應的動畫,來實現游戲的交互。難在于解決開發后面臨的不同設備游戲畫面、音效等兼容性問題。 使用Hilo可以幫助我們解…

outlook附件大小限制_如何在Outlook中調整大圖片附件的大小

outlook附件大小限制When you have to send someone a large image file through email, it’s a good idea to resize the image file to make it smaller before sending it. Outlook makes this easy and allows you to resize the image file as it’s sent. 當您必須通過電…

bzoj2460: [BeiJing2011]元素

怕不是學了個假的線性基。。。一直以為要高位到低位插入&#xff0c;結果那個是高斯消元的線性基。。。 那么直接排序權值就行了。 #include<cstdio> #include<iostream> #include<cstring> #include<cstdlib> #include<algorithm> #include<…

西湖論劍WP

先水幾句&#xff0c;這次的題確實難啊&#xff0c;動用洪荒之力了&#xff0c;第一名的神仙也沒有全部做完。 官方說這次的題目有兩道沒被做出來&#xff0c;我猜應該是PWN和RE吧 本來我們是45名的&#xff0c;最后5分鐘那幫人啊&#xff0c;硬生生給我們擠出前50&#xff0c;…

vm macos 啟用3d_如何在macOS中啟用夜班以減輕眼睛疲勞

vm macos 啟用3dNight Shift is a new feature introduced in macOS Sierra 10.12.4, and you might already be familiar with it if you’re an iOS user. Here’s how to enable it and set it up on your Mac. Night Shift是macOS Sierra 10.12.4中引入的新功能&#xff0c…

hdu3072 Intelligence System (最小樹形圖?)

題意&#xff1a;給一個有向圖&#xff0c;問要從0號點能到達所有點所需要經過路徑的最小權值和是多少&#xff0c;然而&#xff0c;若兩點強聯通&#xff0c;則這兩點互相到達不需要花費。保證0號點能到達所有點 tarjan縮點以后直接取每個點入邊中花費最小的即可。 1 #include…

如何在Windows 7、8、10,Vista或XP中刪除Windows服務

If you are a fan of tweaking your system and disabling services, you might find that over time your Windows Services list becomes large and unwieldy. It’s easy enough to delete a Windows service using the Command Prompt. 如果您喜歡調整系統并禁用服務&#…

縮點(有向圖的強連通分量)學習筆記

縮點(有向圖的強連通分量)學習筆記 1.什么是強連通分量&#xff1f;&#xff1a; 有向圖強連通分量:在有向圖G中&#xff0c;如果兩個頂點vi,vj間(vi>vj)有一條從vi到vj的有向路徑&#xff0c;同時還有一條從vj到vi的有向路徑&#xff0c;則稱兩個頂點強連通(strongly conne…

mysql多表聯合刪除

文件一&#xff1a;01.txt文件二&#xff1a;02.txt登錄mysql選擇數據庫表user結構表user_depart結構導入數據到表user導入數據到表user_depart聯合刪除查看刪除后user表的數據查看刪除后user_depart表的數據本文轉自 Lee_吉 51CTO博客&#xff0c;原文鏈接:http://blog.51cto.…

Jenkins 隨筆

window是 隨筆 修改端口 &#xff1a; <arguments>-Xrs -Xmx256m -Dhudson.lifecyclehudson.lifecycle.WindowsServiceLifecycle -jar "%BASE%\jenkins.war" --httpPort8181 --webroot"%BASE%\war"</arguments> 然后重啟服務&#xff08;服務…

centos 初學者_初學者:如何在Outlook 2013中創建和管理任務

centos 初學者If you’re one of those people who has a whiteboard or notepad with an ever-evolving to-do list, or your desk and monitors are adorned with Post-its reminding you of important events, then this the article for you. 如果您是擁有不斷發展的待辦事…

C語言基礎(五)

一、字符串相關函數 1.gets()(輸入字符串) 格式&#xff1a;gets(字符串)&#xff1b; (1)區別&#xff1a;gets(str)與scanf(“%s”,str) gets(str)允許輸入的字符串含有空格 scanf(“%s”,str)不允許含有空格 注意&#xff1a;由于以上無法知道字符串大小&#xff0c;很容易導…

新服務器安裝和配置zabbix的playbook

公司的金山區云服務器是由我負責的&#xff0c;每一次新購買了金山區的服務器都要把這些新服務器添加到zabbix監控里&#xff0c;于是我就編寫了一個ansible的playbook&#xff0c;這樣以后就可以在執行playbook的時候“帶薪拉屎”了。 ansible主機準備&#xff1a; 1&#xff…

15個變態的Google面試題以及答案

在當前經濟形勢不景氣的情況下&#xff0c;谷歌招聘新員工是一件令人振奮的事&#xff0c;特別是對那些在當前金融風暴中渴望找到安全港的年輕經理們和軟件開發商們來說是個好消息。   不過&#xff0c;也不要高興太早&#xff0c;谷歌在招聘新員工時&#xff0c;更加青睞名牌…

小程序禁用ios 左右滑動_如何在使用應用程序時禁用iOS控制中心

小程序禁用ios 左右滑動The Control Center has proven to be a thoughtful and welcome addition to iOS, but it can be annoying sometimes if you’re playing a game or using an app, and you accidentally open it. Here’s how you can disable it in such situations.…

repomd.xml錯誤14 not found

用Centos7最小化安裝了系統&#xff0c;想練練手&#xff0c;可以到換了“搜狐”的YUM源&#xff0c;系統總報錯更新錯誤說找不到repomd.xml。 然后就一直搜解決問題&#xff0c;能用到的都用到了&#xff0c;網上提到的都用到了。浪費了好幾個小時沒解決。正當無語的時候&…

淺談javascript遞歸(白話版)

遞歸 遞歸是一種解決問題的方法&#xff0c;通常我們可以理解成函數調用自身&#xff1b; 什么遞歸&#xff1f;遞歸怎么寫&#xff1f; 首先直接調用自身的方法和函數&#xff0c;他是一個遞歸&#xff0c;我們看代碼&#xff1a; 復制代碼 var recursiveFun function(params…