martes, 4 de octubre de 2011

Formato de números en PHP

Trabajar con números y fechas es una de las cosas más fastidiosas que se le presentan a todo programador. El formato de los datos, la compatibilidad de formatos con manejadores de base de datos, etc. Sin embargo, casi en toda aplicación, toca.

Dependiendo del ambiente/plataforma en que trabajemos se pueden tener soluciones más o menos eficientes. Sin embargo, muchas veces se da el caso en que no podemos hacer mucho a nivel de archivos de configuración porque no tenemos acceso a ellos, o que simplemente la aplicación no requiere mayor trabajo.

En PHP, si lo que queremos es presentar algunos números que sacamos de base de datos o producto de ciertas operaciones matemáticas, por ejemplo, podemos utilizar la función number_format(), cuyo prototipo es el siguiente:

string number_format ( float $number [, int $decimals = 0 ] )
string number_format ( float $number , int $decimals = 0 , string $dec_point = '.' , string $thousands_sep = ',' )


Muy simple. Podemos simplemente decirle el número (o variable que contiene el número) y cuantos decimales queremos que muestre, y además podemos decirle qué separador decimal y de miles utilizar.

<?php

$number = 1234.56;

// notación inglesa (por defecto)
$english_format_number = number_format($number);
// 1,235

// notación inglesa con 3 decimales
$english_format_number2 = number_format($number, 3);
// 1,235.560

// notación francesa
$french_format_number = number_format($number, 2, ',', ' ');
// 1 234,56

// notación inglesa sin separador de miles
$english_format_number3 = number_format($number, 2, '.', '');
// 1234.57

?>

No hay comentarios: