Ver Mensaje Individual
  #2 (permalink)  
Antiguo 10/04/2007, 16:07
gvargas
 
Fecha de Ingreso: octubre-2006
Ubicación: México D.F
Mensajes: 210
Antigüedad: 20 años
Puntos: 0
Re: Formatear Numeros ??????

hola:
Código PHP:
function oNumero(numero){
    
//Propiedades del objeto
    
this.valor = numero || 0
    this
.dec = -1;

    
//Métodos del objeto
    
this.formato = numFormat;
    
this.ponValor = ponValor;

    
//Definición de los métodos
    
function ponValor(cad)
    {
        if (
cad == '-' || cad == '+') return
        if (
cad.length == 0) return

        if (
cad.indexOf('.') >= 0)
            
this.valor = parseFloat(cad);
        else
            
this.valor = parseInt(cad);
    }

        
// El siguiente método se obtiene a través 'otro' método 'formato'
        
function numFormat(dec, miles)
        {
            var 
num = this.valor, signo = 3, expr;
            var 
cad = "" + this.valor;
            var 
ceros = "", pos, pdec, i;

            for (
i = 0; i < dec; i++)
                
ceros += '0';

            
pos = cad.indexOf('.') // para determinar si existe un punto en el valor recibido

            
if (pos < 0)
                
cad = cad + "." + ceros;
            else
            {
                
pdec = cad.length - pos -1;
                if (
pdec <= dec)
                {
                    for (
i = 0; i< (dec - pdec); i++)
                        
cad += '0';
                }
                else
                {
                    
num = num * Math.pow(10, dec);
                    
num = Math.round(num);
                    
num = num / Math.pow(10, dec);
                    
cad = new String(num);
                }
            }

            
pos = cad.indexOf('.')

            if (
pos < 0) pos = cad.lentgh

            
if (cad.substr(0,1) == '-' || cad.substr(0,1) == '+')
                
signo = 4;

            if (
miles && pos > signo)
                do{
                    
expr = /([+-]?d)(d{3}[.,]d*)/

                    
cad.match(expr)
                    
cad = cad.replace(expr, RegExp.$1 + ',' + RegExp.$2)
                  }

            while (
cad.indexOf(',') > signo)
                if (
dec<0) cad = cad.replace(/./,'')

            return 
cad;
        }
    } 
Prueba con eso: