number_format

(PHP 4, PHP 5, PHP 7)

number_formatFormatiert eine Zahl mit Tausender-Trennzeichen

Beschreibung

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

Die 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.

Parameter-Liste

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.

Rückgabewerte

Eine formatierte Version von number.

Changelog

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.

Beispiele

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($number2','' ');
// 1 234,56

$number 1234.5678;

// Englische Notation ohne Tausendergruppierung
$english_format_number number_format($number2'.''');
// 1234.57

?>

Siehe auch

  • money_format() - Formatiert eine Zahl als Währungs-Zeichenkette
  • sprintf() - Gibt einen formatierten String zurück
  • printf() - Gibt einen formatierten String aus
  • sscanf() - Überträgt einen String in ein angegebenes Format