@@ -131,35 +131,31 @@ function invertOOM(x){
131
131
}
132
132
133
133
function standardFormat ( decimal ) {
134
- let formattingSymbols = [
134
+ first = [ "" , "k" , "M" , "B" , "T" , "Q" , "q" , "S" , "s" , "O" , "N" ]
135
+ symbols = [
135
136
[
136
- "" , "k" , "M" , "B" , "T" , "Qu" , "Qi" , "Sx" , "Sp" , "O" , "N" ,
137
- "Dc" , "UDc" , "DDc" , "TDc" , "QDc" , "QiDc" , "SDc" , "SpDc" , "ODc" , "NDc" ,
138
- "Vg" , "UVg" , "DVg" , "TVg" , "QVg" , "QiVg" , "SVg" , "SpVg" , "OVg" , "NVg" ,
139
- "Tg" , "UTg" , "DTg" , "TTg" , "QTg" , "QiTg" , "STg" , "SpTg" , "OTg" , "NTg" ,
140
- "Qg" , "UQg" , "DQg" , "TQg" , "QQg" , "QiQg" , "SQg" , "SpQg" , "OQg" , "NQg" ,
141
- "qg" , "Uqg" , "Dqg" , "Tqg" , "Qqg" , "Qiqg" , "Sqg" , "Spqg" , "Oqg" , "Nqg" ,
142
- "Sg" , "USg" , "DSg" , "TSg" , "QSg" , "QiSg" , "SSg" , "SpSg" , "OSg" , "NSg" ,
143
- "sg" , "Usg" , "Dsg" , "Tsg" , "Qsg" , "Qisg" , "Ssg" , "Spsg" , "Osg" , "Nsg" ,
144
- "Og" , "UOg" , "DOg" , "TOg" , "QOg" , "QiOg" , "SOg" , "SpOg" , "OOg" , "NOg" ,
145
- "Ng" , "UNg" , "DNg" , "TNg" , "QNg" , "QiNg" , "SNg" , "SpNg" , "ONg" , "NNg"
137
+ "" , "U" , "D" , "T" , "Q" , "q" , "S" , "s" , "O" , "N"
146
138
] ,
147
139
[
148
- "" , "C " , "D " , "Tc " , "Qc " , "Qic " , "Sc " , "Spc " , "Oc " , "Nc "
140
+ "" , "Dc " , "Vg " , "Tg " , "Qg " , "qg " , "Sg " , "sg " , "Og " , "Ng "
149
141
] ,
150
142
[
151
- "" , "" , "" , "" , "" , "" , "" , "" , "" , ""
152
- ]
143
+ "" , "C" , "D" , "Tc" , "Qc" , "qc" , "Sc" , "sc" , "Oc" , "Nc"
144
+ ] ,
145
+ [
146
+ "" , "Mi" , "D-Mi" , "T-Mi" , "Q-Mi" , "q-Mi" , "S-Mi" , "s-Mi" , "O-Mi" , "N-Mi"
147
+ ] ,
153
148
]
154
149
decimal = new Decimal ( decimal )
155
- e3 = decimal . log10 ( ) . div ( 3 ) . floor ( )
156
- if ( decimal . gte ( 1e33 ) ) {
157
- formattingSymbols [ 0 ] [ 1 ] = "U"
158
- formattingSymbols [ 0 ] [ 2 ] = "D"
159
- formattingSymbols [ 0 ] [ 3 ] = "T"
160
- }
161
- if ( formattingSymbols [ 2 ] [ e3 . div ( 1000 ) . floor ( ) ] == undefined ) return defaultFormat ( decimal )
162
- return defaultFormat ( decimal . div ( new Decimal ( 1000 ) . pow ( e3 ) ) , e3 . gt ( 0 ) ? 2 : 1 ) + formattingSymbols [ 2 ] [ e3 . div ( 1000 ) . floor ( ) ] + formattingSymbols [ 0 ] [ e3 . mod ( 101 ) ] + formattingSymbols [ 1 ] [ e3 . div ( 101 ) . floor ( ) . mod ( 11 ) ]
150
+ if ( decimal . eq ( 0 ) ) return "0"
151
+ e = decimal . log10 ( ) . div ( 3 ) . floor ( ) . clampMin ( 0 )
152
+ prefix = ""
153
+ prefix += symbols [ 3 ] [ e . div ( 1000 ) . floor ( ) . mod ( 10 ) ]
154
+ prefix += symbols [ 0 ] [ e . sub ( 1 ) . mod ( 10 ) ]
155
+ prefix += symbols [ 1 ] [ e . div ( 10 ) . floor ( ) . mod ( 10 ) ]
156
+ prefix += symbols [ 2 ] [ e . div ( 100 ) . floor ( ) . mod ( 10 ) ]
157
+ if ( first [ e ] != undefined ) prefix = first [ e ]
158
+ return defaultFormat ( decimal . div ( new Decimal ( 10 ) . pow ( e . times ( 3 ) ) ) ) + prefix
163
159
}
164
160
165
161
setInterval ( function ( ) {
0 commit comments