Hola... es bueno el ejemplo, pero no incluiste el manejo de decimales... por lo que me permiti hacer algunas modificaciones en tu clase para incluir el manejo de decimales y el signo de moneda...
package {
import flash.display.MovieClip;
public class formatoMoneda extends MovieClip{
public var CuantosDec:Number=0;
public var Signo:String="";
public function formatoMoneda()
{}
//
public function Format(moneda:String, cuantosDec:int, signo:String):String{
var tamano:int=0;
var resultado:String="";
var enteros:String="";
var decimales:String="";
CuantosDec=cuantosDec;
Signo=signo;
//Separar enteros de decimales
if (moneda.indexOf(".")){
enteros=moneda.substr(0,moneda.indexOf("."));
decimales=moneda.substr(moneda.indexOf(".")+1,moneda.length);;
}
tamano=enteros.length;
if(tamano >= 7 && tamano <= 9){
resultado = obtenerMillones(enteros, decimales);
}else if(tamano >= 4 && tamano <= 6){
resultado = obtenerMiles(enteros, decimales);
}else if(tamano >= 1 && tamano <= 3){
resultado = obtenerUnidades(enteros, decimales);
}
trace("resultado: "+resultado);
return Signo.concat(resultado);
}
//
private function obtenerMillones(enteros:String, decimales:String):String{
var valor:String = '';
var miles:String = obtenerMiles(enteros.substring((enteros.length-6),enteros.length),decimales);
var millones:String = enteros.substring(0,(enteros.length-6));
valor = millones.concat(','+miles);
return valor;
}
//
private function obtenerMiles(enteros:String, decimales:String):String{
var valor:String = '';
var unidades:String = obtenerUnidades(enteros.substring((enteros.length - 3), enteros.length),decimales);
var miles:String = enteros.substring(0, (enteros.length-3));
valor = miles.concat(","+unidades);
return valor;
}
//
private function obtenerUnidades(enteros:String, decimales:String):String{
var valor:String = '';
valor = enteros.concat(obtenerDecimales(decimales));
return valor;
}
//
private function obtenerDecimales(decimales:String):String{
var valor:String = '';
var dec:Number=Number("."+decimales); //Convertir a decimales reales
valor = dec.toFixed(CuantosDec); //Reondear a X decimales
valor = valor.substr(1,valor.length); //Tomar los digitos desde el punto a la derecha
return valor;
}
}
}