Formatieren einer Zahl in einen Dollarbetrag in PHP

John Wachira 30 Januar 2023
  1. Formatieren einer Zahl in PHP mit der Funktion number_format in einen Dollarbetrag
  2. Formatieren einer Zahl in PHP mit der Funktion NumberFormatter::formatCurrency in einen Dollarbetrag
  3. Formatieren Sie eine Zahl in PHP mit einem regulären Ausdruck in einen Dollarbetrag
  4. Formatieren einer Zahl manuell in einen Dollarbetrag in PHP
Formatieren einer Zahl in einen Dollarbetrag in PHP

Dieser Tutorial-Artikel behandelt verschiedene Methoden zum Formatieren einer Zahl in einen Dollarbetrag in PHP mit Beispielen. Diese schließen ein:

  • number_format
  • NumberFormatter::formatCurrency
  • Regular expressions
  • Manual format

Wir werden uns auch ansehen, warum die Funktion money_format nicht mehr verwendet wird.

Formatieren einer Zahl in PHP mit der Funktion number_format in einen Dollarbetrag

Wir verwenden die Funktion number_format, um einen Wert mit gruppierten Tausendern zu arrangieren, indem wir Dezimalstellen und einen Währungstyp hinzufügen.

Die Funktion hat vier Parameter:

number_format(NUMBER, DECIMAL DIGITS, THOUSANDS SEPARATOR, DECIMAL SEPARATOR)
  • Die Zahl ist der zu formatierende Wert.
  • Dezimalstellen geben an, wie viele Nachkommastellen.
  • Dezimaltrennzeichen gibt an, welche Zeichenfolge für das Dezimalzeichen verwendet werden soll.
  • Tausendertrennzeichen bestimmt die Zeichenfolge, die als Tausendertrennzeichen verwendet wird.

Es ist erwähnenswert, dass, wenn der Tausender-Trennzeichen-Parameter verwendet wird, die anderen drei ihn begleiten müssen, damit Ihr Code funktioniert.

Beispielcode:

<?php

//  NUMBER
$amount = 123.45;

//  TO USD - $123.45
$usd = "$" . number_format($amount, 2, ".");
echo $usd;
?>

Ausgabe:

$123.45

Formatieren einer Zahl in PHP mit der Funktion NumberFormatter::formatCurrency in einen Dollarbetrag

Dies ist die neueste und wohl einfachste Methode, um Zahlen in Zeichenketten zu formatieren, die verschiedene Währungen anzeigen.

Stellen Sie sicher, dass die extension=intl in php.ini aktiviert ist.

Es gibt drei Parameter, die Sie im Auge behalten sollten:

  • Formatter, das ist das Objekt NumberFormatter.
  • Betrag, der der numerische Währungswert ist.
  • Die ISO 4217 schreibt die zu verwendende Währung vor.

Beispielcode:

<?php
// NUMBER
$amount = 123;

// TO USD - $123.00
$fmt = new NumberFormatter("en_US",  NumberFormatter::CURRENCY);
$usd = $fmt->formatCurrency($amount, "USD");
echo $usd;
?>

Ausgabe:

$123.00

Beispiel zwei:

<?php
// NUMBER
$amount = 123.456;

// TO USD - $123.46
$fmt = new NumberFormatter("en_US",  NumberFormatter::CURRENCY);
$usd = $fmt->formatCurrency($amount, "USD");
echo $usd;
?>

Ausgabe:

$123.46

Formatieren Sie eine Zahl in PHP mit einem regulären Ausdruck in einen Dollarbetrag

Diese Methode ist eine ganze Dose voller Würmer. Auf die Details einzugehen, wird Sie nur verwirren.

Diese Methode ordnet Zahlen in Tausender an und fügt das Währungszeichen Ihrer Wahl hinzu.

Schauen wir uns ein Beispiel an:

<?php
// NUMBER
$amount = 0.13;

// REGULAR EXPRESSION
$regex = "/\B(?=(\d{3})+(?!\d))/i";
$usd = "$" . preg_replace($regex, ",", $amount);
echo $usd;
?>

Ausgabe:

$0.13

Formatieren einer Zahl manuell in einen Dollarbetrag in PHP

Diese Methode ist gleichbedeutend mit dem Knacken eines Schlosses mit brutaler Gewalt. Diese Methode bietet Ihnen den Vorteil, jedes gewünschte Format zu verwenden.

Schauen wir uns ein Beispiel an:

<?php
// FOR A DOLLAR CURRENCY
function curformat ($amount) {
  //  SPLIT WHOLE & DECIMALS
  $amount = explode(".", $amount);
  $whole = $amount[0];
  $decimal = isset($amount[1]) ? $amount[1] : "00" ;

  //  ADD THOUSAND SEPARATORS
  if (strlen($whole) > 3) {
    $temp = ""; $j = 0;
    for ($i=strlen($whole)-1; $i>=0; $i--) {
      $temp = $whole[$i] . $temp;
      $j++;
      if ($j%3==0 && $i!=0) { $temp = "," . $temp; }
    }
    $whole = $temp;
  }

  //  RESULT
  return "\$$whole.$decimal";
}

//  UNIT TEST
echo curformat(100); // $100.00

Ausgabe:

$100.00

Die obigen Methoden sollten eine Zahl in eine Zeichenfolge formatieren, die Dollar und Cent anzeigt.

Es gibt eine andere Methode namens money_format, aber sie funktioniert nicht unter Windows. Wir raten Ihnen dringend, diese Funktion nicht zu verwenden, da sie veraltet ist.

John Wachira avatar John Wachira avatar

John is a Git and PowerShell geek. He uses his expertise in the version control system to help businesses manage their source code. According to him, Shell scripting is the number one choice for automating the management of systems.

LinkedIn