@@ -126,38 +126,34 @@ var as_integer = function (number) {
126
126
} ;
127
127
128
128
// Helpers
129
- var neg_exp = function ( str , position ) {
129
+ // Helpers
130
+ var neg_exp = function ( str , position , sign ) {
130
131
position = Math . abs ( position ) ;
131
132
132
133
var offset = position - str . length ;
133
134
var sep = DECIMAL_SEPARATOR ;
134
135
135
136
if ( offset >= 0 ) {
136
137
str = zero ( offset ) + str ;
137
- sep = '0' + DECIMAL_SEPARATOR ;
138
+ sep = '0.' ;
138
139
}
139
140
140
141
var length = str . length ;
141
142
var head = str . substr ( 0 , length - position ) ;
142
143
var tail = str . substring ( length - position , length ) ;
143
-
144
- if ( tail . charAt ( 0 ) === '-' ) {
145
- head = '-' + head ;
146
- tail = tail . substr ( 1 ) ;
147
- }
148
-
149
- return ( head + sep + tail ) . replace ( '-' + DECIMAL_SEPARATOR , '-0' + DECIMAL_SEPARATOR ) ;
144
+ return sign + head + sep + tail ;
150
145
} ;
151
146
152
- var pos_exp = function ( str , exp ) {
147
+ var pos_exp = function ( str , exp , sign ) {
153
148
var zeros = zero ( exp ) ;
154
- return String ( str + zeros ) ;
149
+ return String ( sign + str + zeros ) ;
155
150
} ;
156
151
157
152
var format = function ( num , exp ) {
158
- num = String ( num ) ;
153
+ var lt0 = num < 0 ;
154
+ num = String ( lt0 ? - num : num ) ;
159
155
var func = exp >= 0 ? pos_exp : neg_exp ;
160
- return func ( num , exp ) ;
156
+ return func ( num , exp , lt0 ? '-' : '' ) ;
161
157
} ;
162
158
163
159
var zero = function ( exp ) {
0 commit comments