@fnmain/number 1.10.0 → 1.11.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.d.ts +8 -5
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +35 -15
- package/dist/index.js.map +1 -1
- package/dist/test.js +3 -1
- package/dist/test.js.map +1 -1
- package/package.json +1 -1
- package/src/index.ts +43 -13
- package/src/test.ts +5 -1
package/dist/index.d.ts
CHANGED
@@ -5,17 +5,20 @@ type Options = {
|
|
5
5
|
wanYiFixed?: number;
|
6
6
|
trimEndZeros?: boolean;
|
7
7
|
nanString?: string;
|
8
|
+
withCommas?: boolean;
|
8
9
|
space?: string;
|
9
10
|
};
|
10
11
|
export declare function trimTrailingZeros(numberString: string): string;
|
11
|
-
export declare function
|
12
|
-
export declare function
|
13
|
-
export declare function
|
14
|
-
export declare function
|
15
|
-
export declare function
|
12
|
+
export declare function toDigit(value: any, { fixed, withCommas, trimEndZeros, nanString }: Options): any;
|
13
|
+
export declare function toWan(value: any, { fixed, withCommas, trimEndZeros, space, nanString, }?: Options): string;
|
14
|
+
export declare function toYi(value: any, { fixed, withCommas, trimEndZeros, space, nanString, }?: Options): string;
|
15
|
+
export declare function toWanYi(value: any, { fixed, withCommas, trimEndZeros, space, nanString, }?: Options): string;
|
16
|
+
export declare function toAuto(value: any, { fixed, wanFixed, yiFixed, wanYiFixed, withCommas, trimEndZeros, space, nanString, }?: Options): string;
|
17
|
+
export declare function toPercent(value: any, { fixed, withCommas, trimEndZeros, space, nanString, }?: Options): string;
|
16
18
|
export declare function parseNumber(input: any): number;
|
17
19
|
export declare function isNumber(value: any): boolean;
|
18
20
|
export declare function isNotNumber(value: any): boolean;
|
21
|
+
export declare function addCommas(value: string): string;
|
19
22
|
export declare function formatWithCommas(value: any, { strNaN }?: {
|
20
23
|
strNaN: string;
|
21
24
|
}): string;
|
package/dist/index.d.ts.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,KAAK,OAAO,GAAG;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,KAAK,OAAO,GAAG;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAYF,wBAAgB,iBAAiB,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,CAQ9D;AAED,wBAAgB,OAAO,CACrB,KAAK,EAAE,GAAG,EACV,EAAE,KAAS,EAAE,UAAkB,EAAE,YAAoB,EAAE,SAAiB,EAAE,EAAE,OAAO,OASpF;AAED,wBAAgB,KAAK,CACnB,KAAK,EAAE,GAAG,EACV,EACE,KAAS,EACT,UAAkB,EAClB,YAAoB,EACpB,KAAU,EACV,SAAiB,GAClB,GAAE,OAAY,GACd,MAAM,CAQR;AAED,wBAAgB,IAAI,CAClB,KAAK,EAAE,GAAG,EACV,EACE,KAAS,EACT,UAAkB,EAClB,YAAoB,EACpB,KAAU,EACV,SAAiB,GAClB,GAAE,OAAY,GACd,MAAM,CAQR;AAED,wBAAgB,OAAO,CACrB,KAAK,EAAE,GAAG,EACV,EACE,KAAS,EACT,UAAkB,EAClB,YAAoB,EACpB,KAAU,EACV,SAAiB,GAClB,GAAE,OAAY,GACd,MAAM,CAQR;AAED,wBAAgB,MAAM,CACpB,KAAK,EAAE,GAAG,EACV,EACE,KAAS,EACT,QAAQ,EACR,OAAO,EACP,UAAU,EACV,UAAkB,EAClB,YAAoB,EACpB,KAAU,EACV,SAAiB,GAClB,GAAE,OAAY,GACd,MAAM,CAqBR;AAED,wBAAgB,SAAS,CACvB,KAAK,EAAE,GAAG,EACV,EACE,KAAS,EACT,UAAkB,EAClB,YAAoB,EACpB,KAAU,EACV,SAAiB,GAClB,GAAE,OAAY,GACd,MAAM,CAQR;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,GAAG,GAAG,MAAM,CAwD9C;AAED,wBAAgB,QAAQ,CAAC,KAAK,EAAE,GAAG,GAAG,OAAO,CAE5C;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,GAAG,GAAG,OAAO,CAE/C;AAED,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAE/C;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE,MAAM,EAAE;;CAAoB,GAAG,MAAM,CAMnF;AAED,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAItD;AAED,wBAAgB,cAAc,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,MAAM,CAOrD"}
|
package/dist/index.js
CHANGED
@@ -1,6 +1,12 @@
|
|
1
1
|
"use strict";
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
-
exports.numberFallback = exports.removeNumberCommas = exports.formatWithCommas = exports.isNotNumber = exports.isNumber = exports.parseNumber = exports.toPercent = exports.toAuto = exports.toWanYi = exports.toYi = exports.toWan = exports.trimTrailingZeros = void 0;
|
3
|
+
exports.numberFallback = exports.removeNumberCommas = exports.formatWithCommas = exports.addCommas = exports.isNotNumber = exports.isNumber = exports.parseNumber = exports.toPercent = exports.toAuto = exports.toWanYi = exports.toYi = exports.toWan = exports.toDigit = exports.trimTrailingZeros = void 0;
|
4
|
+
function format(value, { withCommas = false, trimEndZeros = false }) {
|
5
|
+
let ret = value;
|
6
|
+
ret = trimEndZeros ? trimTrailingZeros(ret) : ret;
|
7
|
+
ret = withCommas ? addCommas(ret) : ret;
|
8
|
+
return ret;
|
9
|
+
}
|
4
10
|
function trimTrailingZeros(numberString) {
|
5
11
|
// Check if the string contains a decimal point
|
6
12
|
if (numberString.includes(".")) {
|
@@ -11,37 +17,47 @@ function trimTrailingZeros(numberString) {
|
|
11
17
|
return numberString;
|
12
18
|
}
|
13
19
|
exports.trimTrailingZeros = trimTrailingZeros;
|
14
|
-
function
|
20
|
+
function toDigit(value, { fixed = 2, withCommas = false, trimEndZeros = false, nanString = "NaN" }) {
|
21
|
+
value = parseNumber(value);
|
22
|
+
if (isNaN(value)) {
|
23
|
+
return nanString;
|
24
|
+
}
|
25
|
+
let ret = value.toFixed(fixed);
|
26
|
+
ret = format(ret, { withCommas, trimEndZeros });
|
27
|
+
return ret;
|
28
|
+
}
|
29
|
+
exports.toDigit = toDigit;
|
30
|
+
function toWan(value, { fixed = 0, withCommas = false, trimEndZeros = false, space = "", nanString = "NaN", } = {}) {
|
15
31
|
value = parseNumber(value);
|
16
32
|
if (isNaN(value)) {
|
17
33
|
return nanString;
|
18
34
|
}
|
19
35
|
let ret = (value / 10000).toFixed(fixed);
|
20
|
-
ret =
|
36
|
+
ret = format(ret, { withCommas, trimEndZeros });
|
21
37
|
return ret + space + "万";
|
22
38
|
}
|
23
39
|
exports.toWan = toWan;
|
24
|
-
function toYi(value, { fixed = 0, trimEndZeros = false, space = "", nanString = "NaN", } = {}) {
|
40
|
+
function toYi(value, { fixed = 0, withCommas = false, trimEndZeros = false, space = "", nanString = "NaN", } = {}) {
|
25
41
|
value = parseNumber(value);
|
26
42
|
if (isNaN(value)) {
|
27
43
|
return nanString;
|
28
44
|
}
|
29
45
|
let ret = (value / 100000000).toFixed(fixed);
|
30
|
-
ret =
|
46
|
+
ret = format(ret, { withCommas, trimEndZeros });
|
31
47
|
return ret + space + "亿";
|
32
48
|
}
|
33
49
|
exports.toYi = toYi;
|
34
|
-
function toWanYi(value, { fixed = 0, trimEndZeros = false, space = "", nanString = "NaN", } = {}) {
|
50
|
+
function toWanYi(value, { fixed = 0, withCommas = false, trimEndZeros = false, space = "", nanString = "NaN", } = {}) {
|
35
51
|
value = parseNumber(value);
|
36
52
|
if (isNaN(value)) {
|
37
53
|
return nanString;
|
38
54
|
}
|
39
55
|
let ret = (value / 1000000000000).toFixed(fixed);
|
40
|
-
ret =
|
56
|
+
ret = format(ret, { withCommas, trimEndZeros });
|
41
57
|
return ret + space + "万亿";
|
42
58
|
}
|
43
59
|
exports.toWanYi = toWanYi;
|
44
|
-
function toAuto(value, { fixed = 0, wanFixed, yiFixed, wanYiFixed, trimEndZeros = false, space = "", nanString = "NaN", } = {}) {
|
60
|
+
function toAuto(value, { fixed = 0, wanFixed, yiFixed, wanYiFixed, withCommas = false, trimEndZeros = false, space = "", nanString = "NaN", } = {}) {
|
45
61
|
value = parseNumber(value);
|
46
62
|
if (isNaN(value)) {
|
47
63
|
return nanString;
|
@@ -49,28 +65,28 @@ function toAuto(value, { fixed = 0, wanFixed, yiFixed, wanYiFixed, trimEndZeros
|
|
49
65
|
const abs = Math.abs(value);
|
50
66
|
if (abs < 10000) {
|
51
67
|
let ret = value.toFixed(fixed);
|
52
|
-
ret =
|
68
|
+
ret = format(ret, { withCommas, trimEndZeros });
|
53
69
|
return ret;
|
54
70
|
}
|
55
71
|
if (abs < 100000000) {
|
56
72
|
fixed = (isNumber(wanFixed) && wanFixed) || fixed;
|
57
|
-
return toWan(value, { fixed, trimEndZeros, space });
|
73
|
+
return toWan(value, { fixed, withCommas, trimEndZeros, space });
|
58
74
|
}
|
59
75
|
if (abs < 1000000000000) {
|
60
76
|
fixed = (isNumber(yiFixed) && yiFixed) || fixed;
|
61
|
-
return toYi(value, { fixed, trimEndZeros, space });
|
77
|
+
return toYi(value, { fixed, withCommas, trimEndZeros, space });
|
62
78
|
}
|
63
79
|
fixed = (isNumber(wanYiFixed) && wanYiFixed) || fixed;
|
64
|
-
return toWanYi(value, { fixed, trimEndZeros, space });
|
80
|
+
return toWanYi(value, { fixed, withCommas, trimEndZeros, space });
|
65
81
|
}
|
66
82
|
exports.toAuto = toAuto;
|
67
|
-
function toPercent(value, { fixed = 0, trimEndZeros = false, space = "", nanString = "NaN", } = {}) {
|
83
|
+
function toPercent(value, { fixed = 0, withCommas = false, trimEndZeros = false, space = "", nanString = "NaN", } = {}) {
|
68
84
|
value = parseNumber(value);
|
69
85
|
if (isNaN(value)) {
|
70
86
|
return nanString;
|
71
87
|
}
|
72
88
|
let ret = (value * 100).toFixed(fixed);
|
73
|
-
ret =
|
89
|
+
ret = format(ret, { withCommas, trimEndZeros });
|
74
90
|
return ret + space + "%";
|
75
91
|
}
|
76
92
|
exports.toPercent = toPercent;
|
@@ -134,12 +150,16 @@ function isNotNumber(value) {
|
|
134
150
|
return !Number.isFinite(value);
|
135
151
|
}
|
136
152
|
exports.isNotNumber = isNotNumber;
|
153
|
+
function addCommas(value) {
|
154
|
+
return value.replace(/\B(?=(\d{3})+(?!\d))/g, ",");
|
155
|
+
}
|
156
|
+
exports.addCommas = addCommas;
|
137
157
|
function formatWithCommas(value, { strNaN } = { strNaN: "NaN" }) {
|
138
158
|
const val = parseNumber(value);
|
139
159
|
if (isNaN(val)) {
|
140
160
|
return strNaN;
|
141
161
|
}
|
142
|
-
return val.toString()
|
162
|
+
return addCommas(val.toString());
|
143
163
|
}
|
144
164
|
exports.formatWithCommas = formatWithCommas;
|
145
165
|
function removeNumberCommas(str) {
|
package/dist/index.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/test.js
CHANGED
@@ -6,7 +6,7 @@ console.log((0, index_1.toAuto)(NaN, { nanString: "invalid" })); // invalid
|
|
6
6
|
console.log((0, index_1.toAuto)(1234)); // 1234
|
7
7
|
console.log((0, index_1.toAuto)(12345)); // 1万
|
8
8
|
console.log((0, index_1.toAuto)(123456789)); // 1亿
|
9
|
-
console.log((0, index_1.toAuto)(1234, { fixed: 1 })); //
|
9
|
+
console.log((0, index_1.toAuto)(1234, { fixed: 1, withCommas: true })); // 1,234.0
|
10
10
|
console.log((0, index_1.toAuto)(12345, { fixed: 1 })); // 1.2万
|
11
11
|
console.log((0, index_1.toAuto)(12345, { wanFixed: 2 })); // 1.23万
|
12
12
|
console.log((0, index_1.toAuto)(123456789, { fixed: 2, space: " " })); // 1.23 亿
|
@@ -47,4 +47,6 @@ console.log((0, index_1.numberFallback)(undefined, 2, 3, "abc")); // 2
|
|
47
47
|
console.log((0, index_1.numberFallback)(null, 2, 3, "abc")); // 2
|
48
48
|
console.log((0, index_1.numberFallback)(NaN, 2, 3, "abc")); // 2
|
49
49
|
console.log((0, index_1.numberFallback)(0, 2, 3, "abc")); // 0
|
50
|
+
console.log((0, index_1.toDigit)(1234567.89, { withCommas: true })); // 1,234,567.89
|
51
|
+
console.log((0, index_1.toDigit)(-1234567.89, { withCommas: false, fixed: 1 })); // -1234567.9
|
50
52
|
//# sourceMappingURL=test.js.map
|
package/dist/test.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"test.js","sourceRoot":"","sources":["../src/test.ts"],"names":[],"mappings":";;AAAA,
|
1
|
+
{"version":3,"file":"test.js","sourceRoot":"","sources":["../src/test.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/src/index.ts
CHANGED
@@ -5,9 +5,20 @@ type Options = {
|
|
5
5
|
wanYiFixed?: number;
|
6
6
|
trimEndZeros?: boolean;
|
7
7
|
nanString?: string;
|
8
|
+
withCommas?: boolean;
|
8
9
|
space?: string;
|
9
10
|
};
|
10
11
|
|
12
|
+
function format(
|
13
|
+
value: string,
|
14
|
+
{ withCommas = false, trimEndZeros = false }: { withCommas?: boolean; trimEndZeros?: boolean }
|
15
|
+
) {
|
16
|
+
let ret = value;
|
17
|
+
ret = trimEndZeros ? trimTrailingZeros(ret) : ret;
|
18
|
+
ret = withCommas ? addCommas(ret) : ret;
|
19
|
+
return ret;
|
20
|
+
}
|
21
|
+
|
11
22
|
export function trimTrailingZeros(numberString: string): string {
|
12
23
|
// Check if the string contains a decimal point
|
13
24
|
if (numberString.includes(".")) {
|
@@ -18,10 +29,24 @@ export function trimTrailingZeros(numberString: string): string {
|
|
18
29
|
return numberString;
|
19
30
|
}
|
20
31
|
|
32
|
+
export function toDigit(
|
33
|
+
value: any,
|
34
|
+
{ fixed = 2, withCommas = false, trimEndZeros = false, nanString = "NaN" }: Options
|
35
|
+
) {
|
36
|
+
value = parseNumber(value);
|
37
|
+
if (isNaN(value)) {
|
38
|
+
return nanString;
|
39
|
+
}
|
40
|
+
let ret = value.toFixed(fixed);
|
41
|
+
ret = format(ret, { withCommas, trimEndZeros });
|
42
|
+
return ret;
|
43
|
+
}
|
44
|
+
|
21
45
|
export function toWan(
|
22
46
|
value: any,
|
23
47
|
{
|
24
48
|
fixed = 0,
|
49
|
+
withCommas = false,
|
25
50
|
trimEndZeros = false,
|
26
51
|
space = "",
|
27
52
|
nanString = "NaN",
|
@@ -32,7 +57,7 @@ export function toWan(
|
|
32
57
|
return nanString;
|
33
58
|
}
|
34
59
|
let ret = (value / 10000).toFixed(fixed);
|
35
|
-
ret =
|
60
|
+
ret = format(ret, { withCommas, trimEndZeros });
|
36
61
|
return ret + space + "万";
|
37
62
|
}
|
38
63
|
|
@@ -40,6 +65,7 @@ export function toYi(
|
|
40
65
|
value: any,
|
41
66
|
{
|
42
67
|
fixed = 0,
|
68
|
+
withCommas = false,
|
43
69
|
trimEndZeros = false,
|
44
70
|
space = "",
|
45
71
|
nanString = "NaN",
|
@@ -50,7 +76,7 @@ export function toYi(
|
|
50
76
|
return nanString;
|
51
77
|
}
|
52
78
|
let ret = (value / 100000000).toFixed(fixed);
|
53
|
-
ret =
|
79
|
+
ret = format(ret, { withCommas, trimEndZeros });
|
54
80
|
return ret + space + "亿";
|
55
81
|
}
|
56
82
|
|
@@ -58,6 +84,7 @@ export function toWanYi(
|
|
58
84
|
value: any,
|
59
85
|
{
|
60
86
|
fixed = 0,
|
87
|
+
withCommas = false,
|
61
88
|
trimEndZeros = false,
|
62
89
|
space = "",
|
63
90
|
nanString = "NaN",
|
@@ -68,7 +95,7 @@ export function toWanYi(
|
|
68
95
|
return nanString;
|
69
96
|
}
|
70
97
|
let ret = (value / 1000000000000).toFixed(fixed);
|
71
|
-
ret =
|
98
|
+
ret = format(ret, { withCommas, trimEndZeros });
|
72
99
|
return ret + space + "万亿";
|
73
100
|
}
|
74
101
|
|
@@ -79,6 +106,7 @@ export function toAuto(
|
|
79
106
|
wanFixed,
|
80
107
|
yiFixed,
|
81
108
|
wanYiFixed,
|
109
|
+
withCommas = false,
|
82
110
|
trimEndZeros = false,
|
83
111
|
space = "",
|
84
112
|
nanString = "NaN",
|
@@ -91,25 +119,26 @@ export function toAuto(
|
|
91
119
|
const abs = Math.abs(value);
|
92
120
|
if (abs < 10000) {
|
93
121
|
let ret = value.toFixed(fixed);
|
94
|
-
ret =
|
122
|
+
ret = format(ret, { withCommas, trimEndZeros });
|
95
123
|
return ret;
|
96
124
|
}
|
97
125
|
if (abs < 100000000) {
|
98
126
|
fixed = (isNumber(wanFixed) && wanFixed) || fixed;
|
99
|
-
return toWan(value, { fixed, trimEndZeros, space });
|
127
|
+
return toWan(value, { fixed, withCommas, trimEndZeros, space });
|
100
128
|
}
|
101
129
|
if (abs < 1000000000000) {
|
102
130
|
fixed = (isNumber(yiFixed) && yiFixed) || fixed;
|
103
|
-
return toYi(value, { fixed, trimEndZeros, space });
|
131
|
+
return toYi(value, { fixed, withCommas, trimEndZeros, space });
|
104
132
|
}
|
105
133
|
fixed = (isNumber(wanYiFixed) && wanYiFixed) || fixed;
|
106
|
-
return toWanYi(value, { fixed, trimEndZeros, space });
|
134
|
+
return toWanYi(value, { fixed, withCommas, trimEndZeros, space });
|
107
135
|
}
|
108
136
|
|
109
137
|
export function toPercent(
|
110
138
|
value: any,
|
111
139
|
{
|
112
140
|
fixed = 0,
|
141
|
+
withCommas = false,
|
113
142
|
trimEndZeros = false,
|
114
143
|
space = "",
|
115
144
|
nanString = "NaN",
|
@@ -120,7 +149,7 @@ export function toPercent(
|
|
120
149
|
return nanString;
|
121
150
|
}
|
122
151
|
let ret = (value * 100).toFixed(fixed);
|
123
|
-
ret =
|
152
|
+
ret = format(ret, { withCommas, trimEndZeros });
|
124
153
|
return ret + space + "%";
|
125
154
|
}
|
126
155
|
|
@@ -190,15 +219,16 @@ export function isNotNumber(value: any): boolean {
|
|
190
219
|
return !Number.isFinite(value);
|
191
220
|
}
|
192
221
|
|
193
|
-
export function
|
194
|
-
value
|
195
|
-
|
196
|
-
|
222
|
+
export function addCommas(value: string): string {
|
223
|
+
return value.replace(/\B(?=(\d{3})+(?!\d))/g, ",");
|
224
|
+
}
|
225
|
+
|
226
|
+
export function formatWithCommas(value: any, { strNaN } = { strNaN: "NaN" }): string {
|
197
227
|
const val = parseNumber(value);
|
198
228
|
if (isNaN(val)) {
|
199
229
|
return strNaN;
|
200
230
|
}
|
201
|
-
return val.toString()
|
231
|
+
return addCommas(val.toString());
|
202
232
|
}
|
203
233
|
|
204
234
|
export function removeNumberCommas(str: string): string {
|
package/src/test.ts
CHANGED
@@ -6,6 +6,7 @@ import {
|
|
6
6
|
parseNumber,
|
7
7
|
removeNumberCommas,
|
8
8
|
toAuto,
|
9
|
+
toDigit,
|
9
10
|
toPercent,
|
10
11
|
} from "./index";
|
11
12
|
|
@@ -15,7 +16,7 @@ console.log(toAuto(1234)); // 1234
|
|
15
16
|
console.log(toAuto(12345)); // 1万
|
16
17
|
console.log(toAuto(123456789)); // 1亿
|
17
18
|
|
18
|
-
console.log(toAuto(1234, { fixed: 1 })); //
|
19
|
+
console.log(toAuto(1234, { fixed: 1, withCommas: true })); // 1,234.0
|
19
20
|
console.log(toAuto(12345, { fixed: 1 })); // 1.2万
|
20
21
|
console.log(toAuto(12345, { wanFixed: 2 })); // 1.23万
|
21
22
|
console.log(toAuto(123456789, { fixed: 2, space: " " })); // 1.23 亿
|
@@ -62,3 +63,6 @@ console.log(numberFallback(undefined, 2, 3, "abc")); // 2
|
|
62
63
|
console.log(numberFallback(null, 2, 3, "abc")); // 2
|
63
64
|
console.log(numberFallback(NaN, 2, 3, "abc")); // 2
|
64
65
|
console.log(numberFallback(0, 2, 3, "abc")); // 0
|
66
|
+
|
67
|
+
console.log(toDigit(1234567.89, { withCommas: true })); // 1,234,567.89
|
68
|
+
console.log(toDigit(-1234567.89, { withCommas: false, fixed: 1 })); // -1234567.9
|