| Код | function number_format( number ) { return number.toString().replace( /^(\-?)(\d{1,2})?(\d{3})?(\d{3})?(\d{3})?(\d{3})?(\d{3})?([\.\,](\d+)?)?$/, function($0,$sign,$6,$5,$4,$3,$2,$1,$pt,$dec){ var z= ($sign ||'')+ ($6?' '+$6:'')+ ($5?' '+$5:'')+ ($4?' '+$4:'')+ ($3?' '+$3:'')+ ($2?' '+$2:'')+ ($1?' '+$1:'')+ ($pt?','+($dec|0):''); return z; }); }
alert([ number_format(1.234) ,number_format(.234) ,number_format(100.234) ,number_format(1001.234) ,number_format(2345678) ]);
|
Это покороче будет, правда числа только до 999 999 999 999 999 999 может обрабатывать , ну да это непринципиально, и число знаков после запятой тоже не ограничивает... |