File tree Expand file tree Collapse file tree 2 files changed +7
-4
lines changed Expand file tree Collapse file tree 2 files changed +7
-4
lines changed Original file line number Diff line number Diff line change @@ -61,14 +61,15 @@ var digitsRE = /(\d{3})(?=\d)/g
61
61
62
62
exports . currency = function ( value , sign ) {
63
63
value = parseFloat ( value )
64
- if ( ! value && value !== 0 ) return ''
64
+ if ( ! isFinite ( value ) || ( ! value && value !== 0 ) ) return ''
65
65
sign = sign || '$'
66
66
var s = Math . floor ( Math . abs ( value ) ) . toString ( ) ,
67
67
i = s . length % 3 ,
68
68
h = i > 0
69
69
? ( s . slice ( 0 , i ) + ( s . length > 3 ? ',' : '' ) )
70
70
: '' ,
71
- f = '.' + value . toFixed ( 2 ) . slice ( - 2 )
71
+ v = Math . abs ( parseInt ( ( value * 100 ) % 100 , 10 ) ) ,
72
+ f = '.' + ( v < 10 ? ( '0' + v ) : v )
72
73
return ( value < 0 ? '-' : '' ) +
73
74
sign + h + s . slice ( i ) . replace ( digitsRE , '$1,' ) + f
74
75
}
@@ -132,4 +133,4 @@ exports.key.keyCodes = keyCodes
132
133
* Install special array filters
133
134
*/
134
135
135
- _ . extend ( exports , require ( './array-filters' ) )
136
+ _ . extend ( exports , require ( './array-filters' ) )
Original file line number Diff line number Diff line change @@ -62,13 +62,15 @@ describe('Filters', function () {
62
62
expect ( filter ( 1234 ) ) . toBe ( '$1,234.00' )
63
63
expect ( filter ( 1234.45 ) ) . toBe ( '$1,234.45' )
64
64
expect ( filter ( 123443434.4343434 ) ) . toBe ( '$123,443,434.43' )
65
+ expect ( filter ( 0.99999 ) ) . toBe ( '$0.99' )
65
66
// sign arg
66
67
expect ( filter ( 2134 , '@' ) ) . toBe ( '@2,134.00' )
67
- // falsy and 0
68
+ // falsy, infinity and 0
68
69
expect ( filter ( 0 ) ) . toBe ( '$0.00' )
69
70
expect ( filter ( false ) ) . toBe ( '' )
70
71
expect ( filter ( null ) ) . toBe ( '' )
71
72
expect ( filter ( undefined ) ) . toBe ( '' )
73
+ expect ( filter ( Infinity ) ) . toBe ( '' )
72
74
// negative numbers
73
75
expect ( filter ( - 50 ) ) . toBe ( '-$50.00' )
74
76
expect ( filter ( - 150.43 ) ) . toBe ( '-$150.43' )
You can’t perform that action at this time.
0 commit comments