From 36bee96c930bb5815e6b7130fdb0333d567a5b58 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 1/5] 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 From 73b130fff2a098af1f3d718d79dd8ed4b3167146 Mon Sep 17 00:00:00 2001 From: David Wu Date: Thu, 21 Dec 2017 15:22:13 +0100 Subject: [PATCH 2/5] Update tag_database --- tag_database | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tag_database b/tag_database index 17c6ab438..8b6dd43af 100644 --- a/tag_database +++ b/tag_database @@ -123,4 +123,4 @@ without:array words:string zip:array zipObject:array -numberWithCommas:utility \ No newline at end of file +numberWithCommas:utility From f76e8f357c269ca748d5c2b6132a41c4b042f0b5 Mon Sep 17 00:00:00 2001 From: David Wu Date: Thu, 21 Dec 2017 15:29:32 +0100 Subject: [PATCH 3/5] Update numberWithCommas.md --- snippets/numberWithCommas.md | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/snippets/numberWithCommas.md b/snippets/numberWithCommas.md index afb8a7f08..d10bd6142 100644 --- a/snippets/numberWithCommas.md +++ b/snippets/numberWithCommas.md @@ -1,19 +1,18 @@ -### numberWithCommas +### toDecimalMark 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) => { +const toDecimalMark = (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' +// toDecimalMark(12305030388.9087) //-> '12,305,030,388.9087' +// toDecimalMark(123.889087e2) //-> '12,388.9087' +// toDecimalMark('12305abc030388.9087') // -> '12,305,030,388.9087' ``` From b65d0bd702558271e8ea3b0df673a1ad872ea9c5 Mon Sep 17 00:00:00 2001 From: David Wu Date: Thu, 21 Dec 2017 15:29:51 +0100 Subject: [PATCH 4/5] Rename numberWithCommas.md to toDecimalMark.md --- snippets/{numberWithCommas.md => toDecimalMark.md} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename snippets/{numberWithCommas.md => toDecimalMark.md} (100%) diff --git a/snippets/numberWithCommas.md b/snippets/toDecimalMark.md similarity index 100% rename from snippets/numberWithCommas.md rename to snippets/toDecimalMark.md From 07337c25b5238a463ad89011cb14b443efda6494 Mon Sep 17 00:00:00 2001 From: David Wu Date: Thu, 21 Dec 2017 15:37:35 +0100 Subject: [PATCH 5/5] Update toDecimalMark.md --- snippets/toDecimalMark.md | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/snippets/toDecimalMark.md b/snippets/toDecimalMark.md index d10bd6142..79cea1840 100644 --- a/snippets/toDecimalMark.md +++ b/snippets/toDecimalMark.md @@ -1,8 +1,8 @@ ### toDecimalMark -Use commas to separate digits。 +Convert a float-point arithmetic to the [Decimal mark](https://en.wikipedia.org/wiki/Decimal_mark) form. -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。 +Use `toString()` to convert the float `num` to a string, then use regex to separate every three characters of the integer part with a comma. ```js const toDecimalMark = (num) => { @@ -11,7 +11,6 @@ const toDecimalMark = (num) => { let decNum = `.${cleanNum.split('.')[1]}` return wholeNum + decNum; } - // toDecimalMark(12305030388.9087) //-> '12,305,030,388.9087' // toDecimalMark(123.889087e2) //-> '12,388.9087' // toDecimalMark('12305abc030388.9087') // -> '12,305,030,388.9087'