Obsah

# 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 LibreOffice 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 LibreOffice Basic můžete nastavit v LibreOffice - Předvolby Nástroje - Možnosti - 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 výraz na malá písmena.
">" | Převede výraz na velká písmena.
"c" or "General Date" | Pro číselný výraz vrátí krátký formát data, volitelně jako "H:MM:SS AM/PM". Je-li výrazem řetězec, vrátí řetězec.
"n" | Vrátí minutu číselného výrazu s 1 nebo 2 číslicemi.
"nn" | Vrátí minutu číselného výrazu se dvěma číslicemi.
"w" | Vrátí pro číselný výraz den v týdnu. 1 značí neděli, 7 sobotu.
"General Number" | Vrátí číselný výraz se 12 číslicemi (0.############).
"Currency" | Vrátí číselný výraz v měně podle národního prostředí.
"Fixed" | Vrátí číselný výraz se 2 desetinnými místy (0.00).
"Standard" | Vrátí číselný výraz s oddělovačem tisíců a 2 desetinnými místy (@0.00).
"Percent" | Vrátí číselný výraz jako hodnotu procenta (0.00%).
"Scientific" | Vrátí číselný výraz ve vědecké notaci (#.00E+00).
"Yes/No" | Vrátí „Yes“, pokud není číselný výraz roven nule. V opačném případě vrátí „No“. Hodnoty „Yes“ a „No“ jsou lokalizované.
"True/False" | Vrátí „True“, pokud není číselný výraz roven nule. V opačném případě vrátí „False“. Hodnoty „True“ a „False“ jsou lokalizované.
"On/Off" | Vrátí „On“, pokud není číselný výraz roven nule. V opačném případě vrátí „Off“. Hodnoty „On“ a „Off“ jsou lokalizované.
"Long Date" or "dddddd" | Vrátí číselný výraz v systémovém dlouhém formátu data, závisejícím na národním prostředí.
"Medium Date" | Vrátí číselný výraz ve formátu data DD-MMM-YY, závisejícím na národním prostředí.
"Short Date" or "ddddd" | Vrátí číselný výraz v systémovém krátkém formátu data, závisejícím na národním prostředí.
"Long Time" or "ttttt" | Vrátí číselný výraz v systémovém dlouhém formátu data, závisejícím na národním prostředí ("H:MM:SS AM/PM").
"Medium Time" | Vrátí číselný výraz v systémovém středním formátu data, závisejícím na národním prostředí ("HH:MM AM/PM").
"Short Time" | Vrátí číselný výraz v systémovém krátkém formátu času, závisejícím na národním prostředí ("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", "<") ' vrátí abcdefghijklmnopqrstuvwxyz1234567890, číslice se nezmění
    msgbox Format("abcdefghijklmnopqrstuvwxyz1234567890", ">") ' vrátí ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890, číslice se nezmění
    msgBox Format(12345.6,"c") ' vrátí číslo ve formátu data jako 18/10/33 2:24:00 PM v německém národním prostředí
    msgBox Format(12345.6,"General Date") ' totéž jako "c"
    msgbox format(12345.004,"n") ' vrátí 5
    msgbox format(12345.004,"nn") ' vrátí 05
    msgbox format(12345.6,"w") ' vrátí 4 (středa)
    msgbox format(log(123),"General Number") ' vrátí 4,812184355372 v německém národním prostředí
    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") ' vrátí lokalizované "Yes"
    msgbox format(0,"Yes/No") ' vrátí lokaliizované "No"
    msgbox format(-1,"True/False") ' vrátí lokalizované "True"
    msgbox format(123,"On/Off") ' vrátí lokalizované "On"
    msgbox format(45756.73,"Long Date") ' vrátí středa 9. dubna 2025 v odpovídajícím národním prostředí
    End Sub

Související témata

Kódy pro formát čísla

Řetězcové funkce