File tree Expand file tree Collapse file tree 1 file changed +26
-0
lines changed
Expand file tree Collapse file tree 1 file changed +26
-0
lines changed Original file line number Diff line number Diff line change 1+ export function formateNum ( number : number | string , decimals : number = 2 , integer : 'floor' | 'ceil' = 'ceil' ) {
2+ number = ( number + '' ) . replace ( / [ ^ 0 - 9 + - E e . ] / g, '' ) ;
3+ const n = ! isFinite ( + number ) ? 0 : + number ,
4+ prec = ! isFinite ( + decimals ) ? 0 : Math . abs ( decimals ) ,
5+ sep = ',' ,
6+ dec = '.' ,
7+ s = ( prec ? toFixedFix ( n , prec ) : '' + Math . round ( n ) ) . split ( '.' ) ,
8+ re = / ( - ? \d + ) ( \d { 3 } ) /
9+
10+ while ( re . test ( s [ 0 ] ) ) {
11+ s [ 0 ] = s [ 0 ] . replace ( re , "$1" + sep + "$2" ) ;
12+ }
13+
14+ if ( ( s [ 1 ] || '' ) . length < prec ) {
15+ s [ 1 ] = s [ 1 ] || '' ;
16+ s [ 1 ] += new Array ( prec - s [ 1 ] . length + 1 ) . join ( '0' ) ;
17+ }
18+ return s . join ( dec )
19+
20+ function toFixedFix ( n : number , prec : number ) : string {
21+ const k = Math . pow ( 10 , prec ) ;
22+ return '' + ( integer === 'ceil'
23+ ? Math . ceil ( n * k ) / k
24+ : Math . floor ( n * k ) / k )
25+ } ;
26+ }
You can’t perform that action at this time.
0 commit comments