2010-03-13 6 views
2

J'ai besoin d'un moyen de convertir un nombre en format formaté en insérant une virgule à des endroits appropriés. Peut-il être fait en utilisant regex?PHP: Formater une chaîne numérique en insérant une virgule

Exemple:

12345 => 12,345 
1234567 =>1,234,567 
+0

Je ne sais pas si php a ou non, mais je me attends php avoir une sorte de fonction de mise en forme Est-ce que cela vous convient? –

+0

Je me demande si les gens utilisent Google avant de venir ici ... – animuson

+1

Google va maintenant vous envoyer ici. :( – kenny

Répondre

11

Il n'y a pas besoin d'aller pour regex, vous pouvez facilement le faire en utilisant la fonction number_format().

echo number_format(12345); // prints 12,345 
echo number_format(1234567); // prints 1,234,567 

.

$arr = array(
     1234567890, 
     123456789, 
     12345678, 
     1234567, 
     123456, 
     12345, 
     1234, 
     123, 
    ); 

foreach($arr as $num) { 
    echo number_format($num)."\n"; 
} 

Sortie:

1,234,567,890 
123,456,789 
12,345,678 
1,234,567 
123,456 
12,345 
1,234 
123 
0

Pour Valeur entière

$intVal=2151; 

echo number_format((string)$intVal); // output -> 2,151 
Questions connexes