Funktion Format

Wandelt einen numerischen Ausdruck in eine Zeichenfolge um und formatiert diese dann entsprechend dem von Ihnen festgelegten Format.

Syntax:


Format(Ausdruck [, Format als Zeichenfolge]) als Zeichenfolge

Parameter:

Ausdruck: Numerischer Ausdruck, den Sie in eine formatierte Zeichenfolge konvertieren möchten.

format: String that specifies the format code for the number. If format is omitted, the Format function works like the LibreOfficeDev Basic Str() function.

Return type:

Text-Zeichenfolge.

Format-Codes

In BASIC, a format code can be divided into three sections that are separated by semicolons. The first part defines the format for positive values, the second part for negative values, and the third part for zero. If you only specify one format code, it applies to all numbers.

Um das Gebietsschema festlegen, das zur Steuerung der Formatierung von Zahlen, Datumsangaben und Währungen in LibreOfficeDev Basic verwendet wird, wählen – Sprachen und Gebietsschemata – Allgemein. In Basic-Formatcodes wird der Dezimalpunkt (.) immer als Platzhalter für das in Ihrem Gebietsschema definierte Dezimaltrennzeichen verwendet und durch das entsprechende Zeichen ersetzt.

Dies gilt entsprechend für das Gebietsschema für Datums-, Uhrzeit- und Währungsformate. Der Basic-Format-Code wird entsprechend Ihrer Gebietsschema-Einstellung ausgewertet und angezeigt.

In der folgenden Liste werden die Codes beschrieben, die Sie zum Formatieren eines numerischen Ausdrucks verwenden können:

Code

Description

0

If expression has a digit at the position of the 0 in the format code, the digit is displayed, otherwise a zero is displayed.

Wenn Ausdruck weniger Ziffern als die Anzahl der Nullen im Code für Format hat (auf beiden Seiten des Dezimaltrennzeichens), werden führende oder nachgestellte Nullen angezeigt. Wenn Ausdruck links vom Dezimaltrennzeichen mehr Ziffern als die Anzahl der Nullen im Code für Format hat, werden die zusätzlichen Ziffern ohne Formatierung angezeigt.

Nachkommastellen in Ausdruck werden auf so viele Stellen gerundet, wie im Code für Format Nullen hinter dem Dezimaltrennzeichen stehen.

#

If expression contains a digit at the position of the # placeholder in the format code, the digit is displayed, otherwise nothing is displayed at this position.

Dieses Zeichen verhält sich wie die 0, außer dass führende oder nachgestellte Nullen nicht angezeigt werden, wenn mehr Zeichen # im Code für Format vorhanden sind als Ziffern in Ausdruck. Es werden nur die maßgeblichen Ziffern in Ausdruck angezeigt.

. (period)

The decimal placeholder determines the number of decimal places to the left and right of the decimal separator.

Wenn der Code für Format nur # als Platzhalter links neben diesem Symbol enthält, beginnen Zahlen kleiner als 1 mit einem Dezimaltrennzeichen. Um immer eine führende Null bei Dezimalzahlen anzuzeigen, verwenden Sie 0 als Platzhalter für die erste Ziffer links vom Dezimaltrennzeichen.

Ob der Punkt als Tausender- oder Dezimaltrennzeichen verwendet wird, hängt vom verwendeten Gebietsschema ab. Welches Zeichen tatsächlich als Dezimaltrennzeichen angezeigt wird, richtet sich nach dem Zahlenformat in Ihren Systemeinstellungen. In den gezeigten Beispielen wird angenommen, dass das Gebietsschema auf "USA" eingestellt ist.

%

Multiplies the expressionby 100 and inserts the percent sign (%) where the expression appears in the format code.

E- E+ e- e+

If the format code contains at least one digit placeholder (0 or #) to the right of the symbol E-, E+, e-, or e+, the expression is formatted in the scientific or exponential format. The letter E or e is inserted between the number and the exponent. The number of placeholders for digits to the right of the symbol determines the number of digits in the exponent.

Ist der Exponent negativ, so wird bei den Symbolen E-, E+, e-, e+ ein Minuszeichen unmittelbar vor dem Exponenten ausgegeben. Ist der Exponent positiv, so wird nur bei den Symbolen E+ oder e+ ein Pluszeichen ausgegeben.

- + $ ( ) space

: A plus (+), minus (-), dollar ($), space, or brackets entered directly in the format code is displayed as a literal character.

\

Um andere als die angegebenen Zeichen auszugeben, müssen Sie einen umgekehrten Schrägstrich (\) vor das entsprechende Zeichen setzen oder das Zeichen in Anführungsstriche (" ") setzen.

The backslash displays the next character in the format code.

Zeichen im Code für Format, die eine besondere Bedeutung haben, können nur dann direkt als Zeichen angezeigt werden, wenn ihnen ein Rückstrich vorangestellt ist. Der Rückstrich selbst wird nicht angezeigt, es sei denn, Sie geben einen doppelten Rückstrich (\\) in den Code für Format ein.

Die Zeichen, denen Sie im Format-Code einen umgekehrten Schrägstrich voranstellen müssen, damit sie als normales Zeichen (also nicht in ihrer Sonderbedeutung) angezeigt werden, sind die Zeichen zur Formatierung von Datum- und Zeitangaben (a, c, d, h, m, n, p, q, s, t, w, y, /, :), von Zahlen (#, 0, %, E, e, Komma, Punkt) und von Zeichenfolgen (@, &, <, >, !).


Predefined formats

Sie können auch die folgenden vordefinierten Zahlenformate verwenden. Mit Ausnahme von "General Number" geben alle vordefinierten Codes für Format die Zahl als Dezimalzahl mit zwei Dezimalstellen zurück.

Bei Verwendung vordefinierter Formate muss der jeweilige Name im Formatausdruck in Anführungszeichen stehen.

Code

Description

"<"

Convert expression to lower case

">"

Convert expression to upper case.

"c" or "General Date"

Returns the numeric expression in short date format, optionally with "H:MM:SS AM/PM". If expression is a string, returns the string.

"n"

Returns the minute of the numeric expression, with 1 or 2 digits.

"nn"

Returns the minute of the numeric expression with two digits.

"w"

Returns the week day of the numeric expression. 1 is Sunday and 7 is Saturday.

"General Number"

Returns the numeric expression with 12 digits (0.############).

"Currency"

Returns the numeric expression in the currency of the locale.

"Fixed"

Returns the numeric expression with 2 decimal places (0.00).

"Standard"

Returns the numeric expression with thousands separators and 2 decimals (@0.00).

"Percent"

Returns the numeric expression as percent value (0.00%).

"Scientific"

Returns the numeric expression in scientific notation (#.00E+00);

"Yes/No"

Returns "Yes" if the numeric expression is not equal to zero, "No" otherwise. "Yes" and "No" are localized.

"True/False"

Returns "True" if the numeric expression is not equal to zero, "False" otherwise. "True" and "False" are localized.

"On/Off"

Returns "On" if the numeric expression is not equal to zero, "Off" otherwise. "On" and "Off" are localized.

"Long Date" or "dddddd"

Returns the numeric expression in system long date format, and depends on the locale.

"Medium Date"

Returns the numeric expression in date format DD-MMM-YY, and depends on the locale.

"Short Date" or "ddddd"

Returns the numeric expression in system short date format, and depends on the locale.

"Long Time" or "ttttt"

Returns the numeric expression in system long time format, and depends on the locale("H:MM:SS AM/PM").

"Medium Time"

Returns the numeric expression in system medium time format, and depends on the locale (HH:MM AM/PM)

"Short Time"

Returns the numeric expression in system short time format, and depends on the locale (HH:MM).


Fehlercodes:

5 Ungültiger Prozeduraufruf

Beispiel:


Sub ExampleFormat
    MsgBox Format(6328.2, "##,##0.00")
    ' Wenn Sie Zahlen in den Basic-Quellcode eingeben, müssen Sie immer einen Punkt als Dezimaltrennzeichen verwenden.
    ' Zeigt zum Beispiel 6,328.20 bei englischem Gebietsschema, 6.328,20 bei deutschem Gebietsschema.
msgbox Format("ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890", "<") ' returns abcdefghijklmnopqrstuvwxyz1234567890, digits not affected.
msgbox Format("abcdefghijklmnopqrstuvwxyz1234567890", ">") ' returns ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890, digits not affected.
msgBox Format(12345.6,"c") ' returns the number in date format as 18/10/33 2:24:00 PM in German locale.
msgBox Format(12345.6,"General Date") ' Same as "c".
msgbox format(12345.004,"n") ' returns 5
msgbox format(12345.004,"nn") ' returns 05
msgbox format(12345.6,"w") ' returns 4 (Wednesday).
msgbox format(log(123),"General Number") ' returns 4,812184355372 in German locale
msgbox format(123456.7890,"Fixed") ' 123456.79
msgbox format(123456.1234,"Fixed") ' 123456.12
msgbox format(123456.7890,"Standard") '123,456.79
msgbox format(123456.1234,"Standard") '123,456.12
msgbox format(12.3456,"Percent") ' 1234.56%
msgbox format(0.123456,"Percent") '12.35%
msgbox format(123,"Yes/No") ' returns localized "Yes"
msgbox format(0,"Yes/No") ' returns localized "No"
msgbox format(-1,"True/False") ' returns localized "True"
msgbox format(123,"On/Off") ' returns localized "On"
msgbox format(45756.73,"Long Date") ' returns Wednesday, April 9, 2025 in your locale
End Sub