Funkce Format

Převede číselný výraz na řetězec a ten upraví podle zadaného formátu.

Syntaxe:


Format(expression [, format As String]) As String

Parametry:

expression: Číselný výraz, který chcete převést na formátovaný řetězec.

formát: Řetězec, který určuje formátovací kód pro číslo. Pokud je formát vynechán, funkce Format funguje jako funkce LibreOfficeDev Basic Str() .

Návratový typ:

Textový řetězec.

Formátovací kódy

V jazyce BASIC lze kód format rozdělit na tři části oddělené středníky. První část určuje formát pro kladná čísla, druhá pro záporná čísla a třetí pro nulu. Pokud určíte jen jeden kód format, použije se pro všechna čísla.

Národní prostředí použité pro formátování čísel, dat a měny v jazyce LibreOfficeDev Basic můžete nastavit v - Jazyky a národní prostředí - Obecné. Ve formátovacích kódech se jako zástupný znak pro desetinný oddělovač používá vždy tečka (.), která se při zobrazení nahradí odpovídajícím znakem podle národního prostředí.

Totéž platí pro národní prostředí formátu data, času a měny. Formátovací kódy se interpretují a zobrazí podle aktuálního národního prostředí.

Následující seznam popisuje kódy, které je možné použít k formátování číselného výrazu:

Kód

Popis

0

Pokud má expression na pozici, kde je v kódu format 0, číslici, zobrazí se číslice, jinak se zobrazí nula.

Pokud má expression méně číslic, než je počet nul v kódu format (před či za desetinnou čárkou), zobrazí se nuly navíc na začátku nebo na konci. Pokud má expression před desetinnou čárkou více číslic než počet nul v kódu format, číslice navíc se zobrazí bez formátování.

Desetinná část hodnoty expression se zaokrouhlí podle počtu nul, které jsou kódu format za desetinným oddělovačem.

#

Pokud expression obsahuje v kódu format na pozici znaku # číslici, tato číslice se zobrazí, jinak se na této pozici nezobrazí nic.

Tento symbol má stejnou funkci jako 0, kromě toho, že se úvodní a koncové nuly nezobrazí, je-li v kódu format více znaků # než číslic v expression. Zobrazí se pouze relevantní číslice daného výrazu expression.

. (period)

Zástupný znak pro desetinný oddělovač určuje počet desetinných míst vlevo a vpravo od oddělovače.

Pokud kód format obsahuje zástupné znaky # pouze nalevo od tohoto symbolu, budou čísla menší než 1 začínat desetinnou čárkou. Pokud chcete u zlomkových čísel vždy zobrazit úvodní nulu, použijte 0 jako zástupný znak pro první číslici nalevo od desetinné čárky.

Použití tečky jako oddělovače tisíců nebo desetinného oddělovače závisí na místním nastavení. Když zadáváte číslo přímo do kódu Basic, vždy používejte tečku jako desetinný oddělovač. Podle místního nastavení vašeho systému se zobrazí skutečný desetinný oddělovač.

%

Vynásobí expression číslem 100 a vloží znak procenta (%) na místo, kde se expression nachází v kódu format.

E- E+ e- e+

Pokud kód format obsahuje alespoň jeden zástupný znak pro číslici (0 nebo #) napravo od symbolu E-, E+, e- nebo e+, expression se naformátuje podle vědeckého (exponenciálního) formátu. Mezi číslo a exponent se vloží písmeno E nebo e. Počet zástupných znaků vpravo od symbolu určuje počet číslic exponentu.

Je-li exponent záporný, zobrazí se bezprostředně před exponentem s E-, E+, e-, e+ znaménko minus. Je-li exponent kladný, zobrazí se znaménko plus pouze před exponenty s E+ nebo e+.

- + $ ( ) space

Plus (+), mínus (-), dolar ($), mezera nebo závorky zadané v kódu format se zobrazí jako znaky.

\

Chcete-li zobrazit jiné znaky, musíte jim předřadit zpětné lomítko (\) nebo je uzavřít do uvozovek (" ").

Zpětné lomítko zobrazí přímo další znak v kódu format.

Znaky v kódu format, které mají zvláštní význam, lze jako znaky zobrazit, pouze pokud před ně přidáte zpětné lomítko. Samotné zpětné lomítko se nezobrazí, pokud nezapíšete dvojité zpětné lomítko (\\).

Znaky, před které musíte přidat zpětné lomítko, aby se zobrazily přímo jako znaky, jsou formátovací znaky pro datum a čas (a, c, d, h, m, n, p, q, s, t, w, y, /, :), formátovací znaky pro čísla (#, 0, %, E, e, čárka, tečka) a formátovací znaky pro řetězce (@, &, <, >, !).


Předem definované formáty

Také je možné použít následující předem definované formáty čísla. Kromě "General Number" se všechny předem definované formáty zobrazují jako čísla zaokrouhlená na dvě desetinná místa.

Pokud používáte předem definované formáty, musí být název formátu uveden v uvozovkách.

Kód

Popis

"<"

Převede expression na malá písmena

">"

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


Chybové kódy:

5 Neplatné volání procedury

Příklad:


Sub ExampleFormat
    MsgBox Format(6328.2, "##,##0.00")
    ' když zadáváte čísla v kódu Basic, vždy jako desetinný oddělovač používejte tečku
    ' zobrazí 6,328.20 pro anglické a 6.328,20 pro německé národní prostředí
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