(PHP 4, PHP 5, PHP 7)
number_format — Formatiert eine Zahl mit Tausender-Trennzeichen
$number
[, int $decimals
= 0
] ) : string$number
, int $decimals
= 0
, string $dec_point
= "."
, string $thousands_sep
= ","
) : stringDie Funktion akzeptiert entweder einen, zwei oder vier Parameter (nicht jedoch drei):
Wird nur ein Parameter übergeben, wird number
ohne Nachkommastellen, aber mit einem Komma (",") zur Gruppierung der
Tausenderstellen formatiert.
Wurden zwei Parameter übergeben, wird number
als
Zahl mit decimals
Nachkommastellen mit einem Punkt
(".") als Trennzeichen sowie einem Komma (",") zur Gruppierung der
Tausenderstellen formatiert.
Wenn alle vier Parameter übergeben wurden, wird number
als Zahl formatiert, die decimals
Nachkommastellen
hat, die mittels dec_point
anstelle des Punktes (".")
von der Zahl getrennt werden, und deren Tausenderstellen mittels
thousands_sep
anstelle des Kommas (",") gruppiert
werden.
number
Die zu formatierende Zahl.
decimals
Bestimmt die Anzahl an Nachkommastellen.
dec_point
Bestimmt das Trennzeichen für die Nachkommastellen.
thousands_sep
Bestimmt das Tausendertrennzeichen.
Eine formatierte Version von number
.
Version | Beschreibung |
---|---|
7.2.0 |
number_format() wurde geändert, so dass es nicht mehr
-0 zurückgeben kann; zuvor konnte -0
zurückgegeben werden, z.B. wenn number gleich
-0.01 war.
|
5.4.0 |
In dec_point und thousands_sep
werden nun auch mehrere Bytes unterstützt. In vorherigen Versionen wurde
jeweils nur das erste Byte genutzt.
|
Beispiel #1 number_format()-Beispiel
Beispielsweise notiert man in Frankreich normalerweise zwei Dezimalstellen mit einem Komma (',') als Trennzeichen sowie ein Leerzeichen (' ') zur Gruppierung der Tausender. Das folgende Beispiel zeigt verschiedene Varianten eine Zahl zu formatieren:
<?php
$number = 1234.56;
// Englische Notation (Standard)
$english_format_number = number_format($number);
// 1,235
// Französische Notation
$nombre_format_francais = number_format($number, 2, ',', ' ');
// 1 234,56
$number = 1234.5678;
// Englische Notation ohne Tausendergruppierung
$english_format_number = number_format($number, 2, '.', '');
// 1234.57
?>