Re: [PHP-ES] Formato numeros grandes

[email protected] (Félix Horro Pita) Thu, 13 Mar 2014 10:13:28 +0100
Newsgroups php.general.es
Message-ID <[email protected]>
Una primera aproximación, suponiendo que quieras abreviar cualquier
número >= 1000, y que las abreviaturas sean "m" para mil, "M" para
millón y "B" para billón:



function formatea($numero) {
        $abreviaturas = array('m', 'M', 'mM', 'B', 'mB');
        $ultima_abreviatura = count($abreviaturas)-1;
        $divisor = 1000;

        $sufijo = -1;

        while ($numero > $divisor && $sufijo < $ultima_abreviatura) {
                $numero /= $divisor;
                $sufijo++;
        }

        return intval($numero).($sufijo>-1?$abreviaturas[$sufijo]:'');
}


Puedes cambiar el intval en el return por si necesitas algún decimal.


Saludos.


El 12/03/14 22:09, Jorge Eduardo Olaya Perdomo escribió:
> Buenas tardes, respetada lista PHP
> 
> 
> Una sugerencia....... necesito formatear números grandes de tal manera
> que quedes por ejemplo así:
> 
> 1.366 Bill
> 232.833 Bill
> 126.671 M.BIll
> 
> Por tener un espacio pequeño para visualizar el numero, no puedo
> colocarlo tal comoes, me toca formatearlo quitandole numeroso a la
> derecha y remplaza dolo por caracteres de texto.
> 
> Gracias por sus sugerencias,
> 
> 
> 
> 
> ---------------------------------------------------------------
> 
>  Jorge Eduardo Olaya Perdomo
> 
> ---------------------------------------------------------------
>