wNumb.js
JavaScript Number & Money formatting
wNumb is a formatting library with a dead-simple interface. It has two methods: to and from.
Licensed MIT, so free for personal and commercial use. 
At 989 bytes for the compressed + Gzipped version, page loads won't suffer.
Works in all modern browsers and IE7+.
Usage
var moneyFormat = wNumb({
	mark: '.',
	thousand: ',',
	prefix: '$ ',
	suffix: ' p.p.'
});
// Format a number:
moneyFormat.to( 301980.62 );
	=> '$ 301,980.62 p.p.'
// Get a number back:
moneyFormat.from( '$ 301,980.62 p.p.' );
	=> 301980.62
Examples
// Appending money-formatting
var Format = wNumb({
	prefix: '$ ',
	decimals: 3,
	thousand: ','
});
// Numbers are always correctly rounded
Format.to ( 980735.2635 )
	=> '$ 980,735.264'
// Manually edit numbers
var Format = wNumb({
	thousand: '.',
	encoder: function( a ){
		return a * 1E7;
	},
	decoder: function( a ){
		return a / 1E7;
	}
});
Format.from ( '-95.060.000.000' )
	=> -9506
// Prefixing negative numbers with a string
var Format = wNumb({
	prefix: '$',
	negativeBefore: '[NEGATIVE] '
});
Format.to ( -260 )
	=> '[NEGATIVE] $260'
Format.from ( '[NEGATIVE] $260' )
	=> -260
// Parsing miss-matches and typo's
var Format = wNumb({
	prefix: '$',
	suffix: ',-',
	thousand: ','
});
Format.to ( '90000' )
	=> '$90,000,-'
// No problem. If there is a sensible number in the entry,
// it'll be extracted, even if pre/post-fixes are missing or off.
Format.from ( '90000 money' )
	=> 90000
// No idea... If the value makes no sense,
// the 'from' method returns false.
Format.from ( 'spaaaaacceeee!!!' )
	=> false