From 0428728578aa62fdfffed34852ebb4eed5159219 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=84=9A=E4=BA=BA=E7=A0=81=E5=A4=B4?= Date: Thu, 21 Dec 2017 22:09:55 +0800 Subject: [PATCH] Add numberWithCommas MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Use commas to separate digits。 --- snippets/numberWithCommas.md | 19 +++++++++++++++++++ tag_database | 1 + 2 files changed, 20 insertions(+) create mode 100644 snippets/numberWithCommas.md diff --git a/snippets/numberWithCommas.md b/snippets/numberWithCommas.md new file mode 100644 index 000000000..afb8a7f08 --- /dev/null +++ b/snippets/numberWithCommas.md @@ -0,0 +1,19 @@ +### numberWithCommas + +Use commas to separate digits。 + +Use `toString()` to convert the number `num` to a string, then use `/\B(?=(\d{3})+(?!\d))/g` to separate every three characters with a comma,except word boundary。 + + ```js +const toThousands = (num) => { + let cleanNum = num.toString().split('').filter(n => '0123456789.'.includes(n)).join('') + let wholeNum = cleanNum.split('.')[0].replace(/\B(?=(\d{3})+(?!\d))/g, ",") + let decNum = `.${cleanNum.split('.')[1]}` + return wholeNum + decNum; +} + +// toThousands(12305030388.9087) //-> '12,305,030,388.9087' +// toThousands(123.889087e2) //-> '12,388.9087' +// toThousands('12305030388.9087') //-> '12,305,030,388.9087' +// toThousands('12305abc030388.9087') // -> '12,305,030,388.9087' +``` diff --git a/tag_database b/tag_database index bc9f671f3..17c6ab438 100644 --- a/tag_database +++ b/tag_database @@ -123,3 +123,4 @@ without:array words:string zip:array zipObject:array +numberWithCommas:utility \ No newline at end of file