1
0
mirror of https://github.com/php/doc-de.git synced 2026-04-29 01:43:20 +02:00
Files
Martin Samesch d46404d19b Sync with EN
2025-04-09 14:45:45 +02:00

384 lines
12 KiB
XML

<?xml version="1.0" encoding="utf-8"?>
<!-- EN-Revision: 06313c3bb195d974aeba8f4364a6739833b18768 Maintainer: nobody Status: ready -->
<!-- Reviewed: yes -->
<!-- Rev-Revision: 715a125af5a86f0e6d6d5aa6cfa9c45257a433ac Reviewer: samesch -->
<refentry xmlns="http://docbook.org/ns/docbook" xml:id="function.money-format">
<refnamediv>
<refname>money_format</refname>
<refpurpose>Formatiert eine Zahl als Währungs-Zeichenkette</refpurpose>
</refnamediv>
<refsynopsisdiv>
&warn.deprecated.function-7-4-0.removed-8-0-0;
</refsynopsisdiv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type>string</type><methodname>money_format</methodname>
<methodparam><type>string</type><parameter>format</parameter></methodparam>
<methodparam><type>float</type><parameter>number</parameter></methodparam>
</methodsynopsis>
<para>
<function>money_format</function> gibt eine formatierte Version von
<parameter>number</parameter> zurück. Diese Funktion nutzt die C-Funktion
<function>strfmon</function>, mit dem Unterschied, dass diese
Implementierung jeweils nur eine Zahl auf einmal konvertiert.
</para>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
<varlistentry>
<term><parameter>format</parameter></term>
<listitem>
<para>
Die Formatangabe besteht aus folgender Sequenz:
<itemizedlist>
<listitem><para>ein <literal>%</literal>-Zeichen</para></listitem>
<listitem><para>optionales Flag</para></listitem>
<listitem><para>optionale Feldbreite</para></listitem>
<listitem><para>optionale Links-Genauigkeit</para></listitem>
<listitem><para>optionale Rechts-Genauigkeit</para></listitem>
<listitem><para>ein erforderliches Umwandlungszeichen</para></listitem>
</itemizedlist>
</para>
<formalpara>
<title>Flags</title>
<para>
Eines oder mehrere der folgenden optionalen Flags können benutzt werden:
<variablelist>
<varlistentry>
<term><literal>=</literal><replaceable>f</replaceable></term>
<listitem>
<para>
Das Zeichen <literal>=</literal> gefolgt von einem (single byte)
Zeichen <replaceable>f</replaceable> wird als numerisches
Füllzeichen benutzt. Das Standard-Füllzeichen ist das Leerzeichen.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><literal>^</literal></term>
<listitem>
<para>
Deaktiviert die Verwendung von Gruppierungszeichen (wie in der
aktuellen Locale-Einstellung definiert).
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><literal>+</literal> or <literal>(</literal></term>
<listitem>
<para>
Gibt den Formatierungsstil für positive und negative Zahlen an.
Wird <literal>+</literal> benutzt, wird das Locale-Äquivalent für
<literal>+</literal> und <literal>-</literal> benutzt. Wird
<literal>(</literal> benutzt, werden negative Beträge von Klammern
umschlossen. Ist kein Formatierungsstil angegeben, wird der
Standardwert <literal>+</literal> benutzt.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><literal>!</literal></term>
<listitem>
<para>
Unterdrückt das Währungssymbol aus dem Ausgabestring.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><literal>-</literal></term>
<listitem>
<para>
Falls vorhanden, werden alle Felder linksbündig angeordnet, im
Gegensatz zum Standardverhalten, welches die Felder rechtsbündig
anordnet.
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</formalpara>
<formalpara>
<title>Feldbreite</title>
<para>
<variablelist>
<varlistentry>
<term><replaceable>w</replaceable></term>
<listitem>
<para>
Eine aus dezimalen Ziffern bestehende Zeichenkette, die die
Mindestfeldbreite angibt. Das Feld wird rechtsbündig ausgerichtet,
es sei denn, das Flag <literal>-</literal> wird verwendet. Der
Standardwert ist 0 (Null).
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</formalpara>
<formalpara>
<title>Links-Genauigkeit</title>
<para>
<variablelist>
<varlistentry>
<term><literal>#</literal><replaceable>n</replaceable></term>
<listitem>
<para>
Die Höchstanzahl von Ziffern (<replaceable>n</replaceable>), die
links vom Dezimaltrenner (&zb; dem Dezimalkomma) erwartet werden.
Dies wird üblicherweise verwendet, um die formatierten Ausgabe an
derselben Spalte auszurichten, wobei das Füllzeichen verwendet wird,
wenn die Ziffernanzahl kleiner ist als <replaceable>n</replaceable>.
Ist die Anzahl der tatsächlichen Ziffern größer als
<replaceable>n</replaceable>, dann wird diese Angabe ignoriert.
</para>
<para>
Wurde die Gruppierung nicht durch die Verwendung des Flags
<literal>^</literal> unterdrückt, werden die Gruppentrennzeichen
eingefügt, bevor die Füllzeichen (falls es welche gibt) ergänzt
werden. Gruppentrenner werden nicht auf die Füllzeichen angewandt,
auch wenn das Füllzeichen eine Ziffer sein sollte.
</para>
<para>
Um die Ausrichtung zu gewährleisten, werden jegliche Zeichen vor oder
nach der Zahl in der formatierten Ausgabe, wie etwa Währungs- oder
Vorzeichen, mit Leerzeichen aufgefüllt, sodass die positiven und
negativen Formate die gleiche Länge haben.
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</formalpara>
<formalpara>
<title>
Rechts-Genauigkeit
</title>
<para>
<variablelist>
<varlistentry>
<term><literal>.</literal><replaceable>p</replaceable></term>
<listitem>
<para>
Ein Punkt, gefolgt von der Ziffernanzahl
(<replaceable>p</replaceable>) nach dem Dezimaltrenner. Ist der
Wert von <replaceable>p</replaceable> gleich 0 (Null), werden der
Dezimaltrenner und die Ziffern rechts davon ausgelassen. Ist keine
Rechts-Genauigkeit angegeben, wird der Standardwert durch das
aktuelle Locale bestimmt. Der zu formatierende Betrag wird vor der
Formatierung auf die angegebene Ziffernanzahl gerundet.
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</formalpara>
<formalpara>
<title>
Umwandlungszeichen
</title>
<para>
<variablelist>
<varlistentry>
<term><literal>i</literal></term>
<listitem>
<para>
Die Zahl wird gemäß des internationalen Währungsformats der Locale
formatiert (&zb; für das USA Locale: USD 1,234.56).
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><literal>n</literal></term>
<listitem>
<para>
Die Zahl wird gemäß des nationalen Währungsformats der Locale
formatiert (&zb; für die de_DE Locale: EU1.234,56).
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><literal>%</literal></term>
<listitem>
<para>
Gibt das <literal>%</literal>-Zeichen zurück.
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</formalpara>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>number</parameter></term>
<listitem>
<para>
Die zu formatierende Zahl.
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
Gibt die formatierte Zeichenkette zurück. Zeichen vor und nach der
Formatzeichenkette werden unverändert zurückgegeben. Eine nichtnumerische
<parameter>number</parameter> führt zur Rückgabe von &null; und dem Erzeugen
einer <constant>E_WARNING</constant>-Warnung.
</para>
</refsect1>
<refsect1 role="changelog">
&reftitle.changelog;
<para>
<informaltable>
<tgroup cols="2">
<thead>
<row>
<entry>&Version;</entry>
<entry>&Description;</entry>
</row>
</thead>
<tbody>
<row>
<entry>8.0.0</entry>
<entry>
&removed.function;
</entry>
</row>
<row>
<entry>7.4.0</entry>
<entry>
&deprecated.function; Stattdessen soll
<methodname>NumberFormatter::formatCurrency</methodname> verwendet
werden.
</entry>
</row>
</tbody>
</tgroup>
</informaltable>
</para>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<para>
<example>
<title><function>money_format</function>-Beispiel</title>
<para>
Wir verwenden unterschiedliche Locales und Formatangaben, um die Verwendung
dieser Funktion zu verdeutlichen.
</para>
<programlisting role="php">
<![CDATA[
<?php
$number = 1234.56;
// wir geben das internationale Format für die en_US Locale aus
setlocale(LC_MONETARY, 'en_US');
echo money_format('%i', $number) . "\n";
// USD 1,234.56
// das italienische nationale Format mit 2 Dezimalstellen
setlocale(LC_MONETARY, 'it_IT');
echo money_format('%.2n', $number) . "\n";
// Eu 1.234,56
// Verwendung einer negativen Zahl
$number = -1234.5672;
// das nationale US-Format, unter Verwendung von () für negative Zahlen
// und 10 Ziffern für die Links-Genauigkeit
setlocale(LC_MONETARY, 'en_US');
echo money_format('%(#10n', $number) . "\n";
// ($ 1,234.57)
// ein ähnliches Format wie zuvor, aber mit zusätzlich 2 Ziffern
// Rechts-Genauigkeit und '*' als Füllzeichen
echo money_format('%=*(#10.2n', $number) . "\n";
// ($********1,234.57)
// wir richten linksbündig aus, mit 14 Zeichen Breite, 8 Ziffern
// Links-Genauigkeit, 2 Rechts-Genauigkeit, ohne Gruppentrenner
// und unter Verwendung des internationalen Formats für die de_DE Locale.
setlocale(LC_MONETARY, 'de_DE');
echo money_format('%=*^-14#8.2i', 1234.56) . "\n";
// Eu 1234,56****
// wir ergänzen etwas Text vor und nach der Formatangabe
setlocale(LC_MONETARY, 'en_GB');
$fmt = 'Der Endwert ist %i (mit 10%% Nachlass)';
echo money_format($fmt, 1234.56) . "\n";
// Der Endwert ist GBP 1,234.56 (mit 10% Nachlass)
?>
]]>
</programlisting>
</example>
</para>
</refsect1>
<refsect1 role="notes">
&reftitle.notes;
<note>
<para>
Die Funktion <function>money_format</function> ist nur definiert, wenn das
System strfmon unterstützt. Beispielsweise ist dies unter Windows nicht so,
sodass <function>money_format</function> unter Windows nicht definiert ist.
</para>
</note>
<note>
<para>
Die Kategorie <constant>LC_MONETARY</constant> der Locale-Einstellungen
hat Einfluss auf das Verhalten dieser Funktion.
<function>setlocale</function> ist zu verwenden, um die gewünschte Locale
einzustellen bevor diese Funktion verwendet wird.
</para>
</note>
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<para>
<simplelist>
<member><function>setlocale</function></member>
<member><function>sscanf</function></member>
<member><function>sprintf</function></member>
<member><function>printf</function></member>
<member><function>number_format</function></member>
</simplelist>
</para>
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->