Strings.Format(Object, String) Metoda

Definice

Vrátí řetězec formátovaný podle pokynů obsažených ve výrazu formátu String .

public static string Format (object? Expression, string? Style = "");
public static string Format (object Expression, string Style = "");
static member Format : obj * string -> string
Public Function Format (Expression As Object, Optional Style As String = "") As String

Parametry

Expression
Object

Povinná hodnota. Libovolný platný výraz

Style
String

Nepovinný parametr. Platný pojmenovaný nebo uživatelem definovaný výraz formátu String .

Návraty

Řetězec formátovaný podle pokynů obsažených ve výrazu formátu String .

Příklady

Tento příklad ukazuje různé použití Format funkce k formátování hodnot pomocí formátů i String uživatelsky definovaných formátů. Pro oddělovač kalendářních dat (/), oddělovač času (:) a indikátory do hodiny odpoledne (t a tt) závisí skutečný formátovaný výstup zobrazený systémem na nastavení národního prostředí, které kód používá. Při zobrazení časů a dat ve vývojovém prostředí se použije formát krátkého času a krátkého data národního prostředí kódu.

Poznámka

U národních prostředí, která používají 24hodinový čas, indikátory AM/PM (t a tt) nezobrazují nic.

Dim testDateTime As Date = #1/27/2001 5:04:23 PM#
Dim testStr As String
' Returns current system time in the system-defined long time format.
testStr = Format(Now(), "Long Time")
' Returns current system date in the system-defined long date format.
testStr = Format(Now(), "Long Date")
' Also returns current system date in the system-defined long date 
' format, using the single letter code for the format.
testStr = Format(Now(), "D")

' Returns the value of testDateTime in user-defined date/time formats.
' Returns "5:4:23".
testStr = Format(testDateTime, "h:m:s")
' Returns "05:04:23 PM".
testStr = Format(testDateTime, "hh:mm:ss tt")
' Returns "Saturday, Jan 27 2001".
testStr = Format(testDateTime, "dddd, MMM d yyyy")
' Returns "17:04:23".
testStr = Format(testDateTime, "HH:mm:ss")
' Returns "23".
testStr = Format(23)

' User-defined numeric formats.
' Returns "5,459.40".
testStr = Format(5459.4, "##,##0.00")
' Returns "334.90".
testStr = Format(334.9, "###0.00")
' Returns "500.00%".
testStr = Format(5, "0.00%")

Poznámky

Metoda String.Format také poskytuje podobné funkce.

Pokud formátujete nelokalizovaný číselný řetězec, měli byste použít uživatelem definovaný číselný formát, abyste měli jistotu, že získáte požadovaný vzhled.

Pokud se pokusíte naformátovat číslo bez zadání Stylefunkce , Format funkce poskytuje funkce podobné Str funkci, i když je to mezinárodní povědomí. Kladná čísla formátovaná jako řetězce používající Format funkci ale neobsahují počáteční mezeru vyhrazenou pro znaménko hodnoty; čísla převedená pomocí Str funkce si zachová počáteční mezeru.

Různé formáty pro různé číselné hodnoty

Uživatelsky definovaný výraz formátu pro čísla může mít jednu až tři části, které jsou oddělené středníky. Style Pokud argument Format funkce obsahuje jeden z předdefinovaných číselných formátů, je povolen pouze jeden oddíl.

Pokud použijete Toto je výsledek
Pouze jeden oddíl Výraz formátu se používá na všechny hodnoty.
Dva oddíly První oddíl se používá na kladné hodnoty a nuly, druhý platí pro záporné hodnoty.
Tři oddíly První oddíl platí pro kladné hodnoty, druhý se vztahuje na záporné hodnoty a třetí platí pro nuly.

Následující příklad má dvě části: první definuje formát pro kladné hodnoty a nuly; druhá část definuje formát záporných hodnot. Vzhledem k tomu, že Style argument Format funkce přebírá řetězec, je uzavřen uvozovkami.

Dim style1 As String = "$#,##0;($#,##0)"

Pokud zahrnete středníky, mezi kterými nic není, chybějící oddíl se vytiskne pomocí formátu kladné hodnoty. Například následující formát zobrazí kladné a záporné hodnoty pomocí formátu v prvním oddílu a zobrazí Zero , pokud je hodnota nula.

Dim style2 As String = "$#,##0;;\Z\e\r\o"

Předdefinované číselné formáty

Následující tabulka uvádí názvy předdefinovaných číselných formátů. Jako argument pro Format funkci se dají použít názvyStyle:

Název formátu Description
General Number, Gnebo g Zobrazí číslo bez oddělovače tisíců.

Format(&H3FA, "g") Například vrátí 1018hodnotu .
Currency, Cnebo c Zobrazí číslo s oddělovačem tisíců, pokud je to vhodné; zobrazí dvě číslice napravo od oddělovače desetinných míst. Zobrazení závisí na nastavení národního prostředí systému.

Format(1234567, "c") Například vrátí $1,234,567.00hodnotu .
Fixed, Fnebo f Zobrazí alespoň jednu číslici vlevo a dvě číslice vpravo od oddělovače desetinných míst.

Format(1234567, "f") Například vrátí 1234567.00hodnotu .
Standard, Nnebo n Zobrazí číslo s oddělovačem tisíců, nejméně jednu číslici vlevo a dvě číslice napravo od oddělovače desetinných míst.

Format(1234567, "n") Například vrátí 1,234,567.00hodnotu .
Percent Zobrazí číslo vynásobené 100 se znakem procenta (%) připojeným bezprostředně zprava; vždy zobrazí dvě číslice vpravo od oddělovače desetinných míst.

Format(0.4744, "Percent") Například vrátí 47.44%hodnotu .
P nebo p Zobrazí číslo s oddělovačem tisíců vynásobeným 100 se znaménkem procenta (%) připojeným vpravo a odděleným jedinou mezerou; vždy zobrazí dvě číslice napravo od oddělovače desetinných míst.

Format(0.80345, "p") Například vrátí 80.35 %hodnotu .
Scientific Používá standardní vědecký zápis, který poskytuje dvě významné číslice.

Format(1234567, "Scientific") Například vrátí 1.23E+06hodnotu .
E nebo e Používá standardní vědecký zápis, který poskytuje šest platných číslic.

Format(1234567, "e") Například vrátí 1.234567e+006hodnotu .
D nebo d Zobrazí číslo jako řetězec, který obsahuje hodnotu čísla ve formátu Desetinné číslo (základ 10). Tato možnost je podporována pouze pro integrální typy (Byte, Short, Integer, Long).

Format(&H7F, "d") Například vrátí 127hodnotu .
X nebo x Zobrazí číslo jako řetězec, který obsahuje hodnotu čísla v šestnáctkovém formátu (základ 16). Tato možnost je podporována pouze pro integrální typy (Byte, Short, Integer, Long).

Format(127, "x") Například vrátí 7fhodnotu .
Yes/No Zobrazí No , pokud je číslo 0. V opačném případě zobrazí Yes.

Format(0, "Yes/No") Například vrátí Nohodnotu .
True/False Zobrazí False , pokud je číslo 0. V opačném případě zobrazí True.

Format(1, "True/False") Například vrátí Truehodnotu .
On/Off Zobrazí Off , pokud je číslo 0. V opačném případě zobrazí On.

Format(1, "On/Off") Například vrátí Onhodnotu .

Poznámky pro vývojáře inteligentního zařízení

Formáty Yes/No, True/Falsea On/Off nejsou podporovány.

Číselné formáty definované uživatelem

Následující tabulka uvádí znaky, které můžete použít k vytvoření uživatelsky definovaných formátů čísel. Tyto možnosti se dají použít k sestavení argumentu StyleFormat pro funkci:

Znak Description
Žádná Zobrazí se číslo bez formátování.
(0) Zástupný symbol číslice. Zobrazí se číslice nebo nula. Pokud výraz má číslici na pozici, kde se nula objeví ve formátovacím řetězci, zobrazte ji; v opačném případě zobrazí nulu v této pozici.

Pokud má číslo méně číslic, než je ve výrazu formátu nul (na kterékoli straně oddělovače desetinných míst), zobrazí se úvodní a/nebo koncové nuly. Pokud má číslo vpravo od oddělovače desetinných míst více číslic, než je nul vpravo od oddělovače desetinných míst ve výrazu formátu, číslo se zaokrouhlí na tolik desetinných míst, kolik je nul. Pokud má číslo vlevo od oddělovače desetinných míst více číslic, než je nul vlevo od oddělovače desetinných míst ve výrazu formátu, zobrazí se číslice navíc beze změny.
(#) Zástupný symbol číslice. Zobrazí číslici nebo nezobrazí nic. Pokud má výraz číslici na pozici, kde # se znak zobrazuje ve formátovacím řetězci, zobrazí ji. V opačném případě se na této pozici nezobrazí nic.

Tento symbol funguje jako 0 zástupný symbol číslic s tím rozdílem, že počáteční a koncové nuly se nezobrazí, pokud číslo obsahuje méně číslic, než je # na obou stranách oddělovače desetinných míst ve výrazu formátu.
(.) Zástupný symbol oddělovače desetinných míst. Zástupný symbol oddělovače desetinných míst určuje, kolik číslic se zobrazí vlevo a vpravo od oddělovače desetinných míst. Pokud výraz formátu obsahuje pouze # znaky nalevo od tohoto symbolu, čísla menší než 1 začínají oddělovačem desetinných míst. Když budete chtít, aby se čísla menší než 1 zobrazila s úvodní nulou, potom jako první zástupný symbol číslice vlevo od oddělovače desetinných míst použijte nulu. V některých národních prostředích se jako oddělovač desetinných míst používá čárka. Skutečný znak, který se ve formátovaném výstupu použije jako oddělovač desetinných míst, závisí na formátu čísel nastaveném v systému. Proto byste měli použít jako zástupný symbol oddělovače desetinných míst ve formátech tečku i v případě, že jste v národním prostředí, které jako zástupný symbol oddělovače desetinných míst používá čárku. Formátovaný řetězec se zobrazí ve správném formátu národního prostředí.
(%) Zástupný symbol procent Vynásobí výraz hodnotou 100. Znak procenta ( % ) se vloží na pozici, na které se nachází v řetězci formátu.
(,) Oddělovač tisíců. Oddělovač tisíců odděluje tisíce od stovek v čísle, které má vlevo od oddělovače desetinných míst čtyři nebo více míst. Standardní použití oddělovače tisíců je určeno, pokud formát obsahuje oddělovač tisíců obklopený zástupnými symboly číslic (0 nebo #).

Oddělovač tisíců bezprostředně nalevo od oddělovače desetinných míst (bez ohledu na to, jestli je zadáno desetinné číslo) nebo jako znak nejvíce vpravo v řetězci znamená "škálovat číslo vydělením 1 000, zaokrouhlením podle potřeby". Čísla menší než 1 000, ale větší nebo rovna 500 se zobrazí jako 1a čísla menší než 500 se zobrazí jako 0. Dva sousední oddělovače tisíců v této pozici mění velikost pomocí faktoru 1 milion a dalšího faktoru 1000 pro každý další oddělovač.

Několik oddělovačů tisíců na libovolné jiné pozici než bezprostředně vlevo od oddělovače desetinných míst nebo pozice úplně vpravo v řetězci se jednoduše považuje za požadované použití oddělovače tisíců. V některých národních prostředích se jako oddělovač tisíců používá tečka. Skutečný znak, který se ve formátovaném výstupu použije jako oddělovač tisíců, závisí na formátu čísel nastaveném v systému. Proto byste měli použít jako oddělovač tisíců ve formátech čárku i v případě, že jste v národním prostředí, které jako oddělovač tisíců používá tečku. Formátovaný řetězec se zobrazí ve správném formátu národního prostředí.

Zvažte například tyto tři následující řetězce formátu:

- "#,0.", který pomocí oddělovače tisíců naformátuje číslo 100 milionů jako řetězec "100 000 000".
- "#0,.", který používá škálování podle faktoru jednoho tisíce k formátování čísla 100 milionů jako řetězec "100000".
- "#,0,.", který pomocí oddělovače tisíců a škálování o jeden tisíc naformátuje číslo 100 milionů jako řetězec "100 000".
(:) Oddělovač času. V některých národních prostředích se k reprezentaci oddělovače času můžou používat jiné znaky. Oddělovač času při formátování hodnot času odděluje hodiny, minuty a sekundy. Skutečný znak, který se ve formátovaném výstupu použije jako oddělovač času, závisí na nastavení systému.
(/) Oddělovač data. V některých národních prostředích se k reprezentaci oddělovače data můžou používat jiné znaky. Oddělovač data při formátování hodnot data odděluje den, měsíc a rok. Skutečný znak, který se ve formátovaném výstupu použije jako oddělovač data, závisí na nastavení systému.
(E-``E+``e-``e+) Vědecký formát. Pokud výraz formátu obsahuje alespoň jeden zástupný symbol číslice (0 nebo #) nalevo od E-, E+, e-nebo e+, číslo se zobrazí ve vědeckém formátu a E vloží e se mezi číslo a jeho exponent. Počet zástupných symbolů číslic vlevo určuje počet číslic v exponentu. K umístění znaménka minus vedle záporných exponentů použijte E- nebo e- . Použijte E+ nebo e+ k umístění znaménka minus vedle záporných exponentů a znaménko plus vedle kladných exponentů. Pokud chcete získat správné formátování, musíte zahrnout také zástupné symboly číslic napravo od tohoto symbolu.
-+$ ( ) Znaky literálu Tyto znaky se zobrazují přesně tak, jak jsou zadány v řetězci formátu. Pokud chcete zobrazit jiný znak než některý z těch, které jsou tady uvedené, dejte před něj zpětné lomítko (\) nebo ho uzavřete do uvozovek (" ").
(\) Zobrazí další znak řetězce formátu. Pokud chcete zobrazit znak, který má jako literální znak zvláštní význam, dejte před něj zpětné lomítko (\). Samotné zpětné lomítko se nezobrazí. Použití zpětného lomítka funguje stejně, jako když následující znak uzavřete do uvozovek. Pokud chcete zobrazit zpětné lomítko, použijte v řetězci formátu dvě zpětná lomítka (\\\\{2}{3}).

Příklady znaků, které nelze zobrazit jako literálové znaky, jsou znaky formátování data a času (a, c, hd, nm, p, q, styew#/0:E%a ) formátování řetězců a znaky pro formátování řetězců (@, &, <, >a ).!
("``ABC``") Zobrazí řetězec, který uzavřete do uvozovek (" "). Chcete-li do argumentu stylu zahrnout řetězec z kódu, musíte použít Chr(34) k uzavření textu (34 je kód znaku pro uvozovky (").

Příklad kódu starší verze

Následující tabulka obsahuje příklady formátovacích výrazů pro čísla. (Všechny tyto příklady předpokládají, že nastavení národního prostředí vašeho systému je angličtina–USA.) První sloupec obsahuje řetězce formátu pro Style argument Format funkce; ostatní sloupce obsahují výsledný výstup, pokud formátovaná data mají hodnotu zadanou v záhlaví sloupců.

Formát (Style) "5" formátováno jako "–5" formátováno jako "0,5" formátováno jako
Zero-length string ("") 5 -5 0.5
0 5 -5 1
0.00 5.00 -5.00 0.50
#,##0 5 -5 1
$#,##0;($#,##0) $5 ($5) $1
$#,##0.00;($#,##0.00) $5.00 ($5.00) $0.50
0% 500% -500% 50%
0.00% 500.00% -500.00% 50.00%
0.00E+00 5.00E+00 -5.00E+00 5.00E-01
0.00E-00 5.00E00 -5.00E00 5.00E-01

Předdefinované formáty data a času

Následující tabulka uvádí předdefinované názvy formátů data a času. Jako argument stylu pro Format funkci je možné použít název:

Název formátu Description
General Date nebo G Zobrazí datum a/nebo čas. Například, 3/12/2008 11:07:31 AM. Zobrazení data je určeno aktuální hodnotou jazykové verze vaší aplikace.
Long Date, Medium Datenebo D Zobrazí datum podle formátu dlouhého data aktuální jazykové verze. Například, Wednesday, March 12, 2008.
Short Date nebo d Zobrazí datum podle formátu krátkého data aktuální jazykové verze. Například, 3/12/2008.

Znak d zobrazuje den ve formátu data definovaném uživatelem.
Long Time, Medium Timenebo T Zobrazuje čas pomocí formátu dlouhého času aktuální jazykové verze. Obvykle zahrnuje hodiny, minuty a sekundy. Například, 11:07:31 AM.
Short Time nebo t Zobrazí čas ve formátu krátkého času aktuální jazykové verze. Například, 11:07 AM.

Znak t zobrazí AM hodnoty nebo PM pro národní prostředí, která používají 12hodinový čas ve formátu definovaném uživatelem.
f Zobrazí dlouhé datum a krátký čas podle formátu aktuální jazykové verze. Například, Wednesday, March 12, 2008 11:07 AM.
F Zobrazí dlouhé datum a dlouhý čas podle formátu vaší aktuální jazykové verze. Například, Wednesday, March 12, 2008 11:07:31 AM.
g Zobrazí krátké datum a krátký čas podle formátu vaší aktuální jazykové verze. Například, 3/12/2008 11:07 AM.
M, m Zobrazí měsíc a den data. Například, March 12.

Znak M zobrazí měsíc ve formátu data definovaném uživatelem. Znak m zobrazí minuty ve formátu času definovaném uživatelem.
R, r Formátuje datum podle RFC1123Pattern vlastnosti. Například, Wed, 12 Mar 2008 11:07:31 GMT. Formátované datum neupravuje hodnotu data a času. Před voláním Format funkce je nutné upravit hodnotu Datum a čas na HODNOTU GMT.
s Formátuje datum a čas jako seřaditelný index. Například, 2008-03-12T11:07:31.

Znak s zobrazuje sekundy ve formátu času definovaném uživatelem.
u Formátuje datum a čas jako řaditelný index GMT. Například, 2008-03-12 11:07:31Z.
U Formátuje datum a čas s dlouhým datem a dlouhým časem jako GMT. Například, Wednesday, March 12, 2008 6:07:31 PM.
Y, y Naformátuje datum jako rok a měsíc. Například, March, 2008.

Znaky Y a y zobrazují rok ve formátu data definovaném uživatelem.

Další informace o aktuální jazykové verzi aplikace najdete v tématu Jak jazyková verze ovlivňuje řetězce v jazyce Visual Basic.

Formáty data a času definované uživatelem

Následující tabulka obsahuje znaky, které můžete použít k vytvoření uživatelsky definovaných formátů data a času. Na rozdíl od dřívějších verzí jazyka Visual Basic se u těchto formátových znaků rozlišují velká a malá písmena.

Znak Description
(:) Oddělovač času. V některých národních prostředích se k reprezentaci oddělovače času můžou používat jiné znaky. Oddělovač času při formátování hodnot času odděluje hodiny, minuty a sekundy. Skutečný znak, který se ve formátovaném výstupu použije jako oddělovač času, je určen aktuální hodnotou jazykové verze vaší aplikace.
(/) Oddělovač data. V některých národních prostředích se k reprezentaci oddělovače data můžou používat jiné znaky. Oddělovač data při formátování hodnot data odděluje den, měsíc a rok. Skutečný znak, který se ve formátovaném výstupu použije jako oddělovač data, je určen aktuální jazykovou verzí vaší aplikace.
(%) Udává, že následující znak se má číst jako jednopísmenný formát bez ohledu na jakákoli koncová písmena. Zároveň udává, že jednopísmenný formát se čte jako uživatelem definovaný formát. Další podrobnosti najdete v následujícím textu.
d Zobrazí den jako číslo bez úvodní nuly (například 1). Použijte %d , pokud se jedná o jediný znak v uživatelsky definovaném číselném formátu.
dd Zobrazí den jako číslo s úvodní nulou (například 01).
ddd Zobrazí den jako zkratku (například Sun).
dddd Zobrazí den jako úplný název (například Sunday).
M Zobrazí měsíc jako číslo bez úvodní nuly (například leden je reprezentován jako 1). Použijte %M , pokud se jedná o jediný znak v uživatelsky definovaném číselném formátu.
MM Zobrazí měsíc jako číslo s úvodní nulou (například 01/12/01).
MMM Zobrazí měsíc jako zkratku (například Jan).
MMMM Zobrazí měsíc jako úplný název měsíce (například January).
gg Zobrazí řetězec tečky nebo éry (například A.D.).
h Zobrazí hodinu jako číslo bez úvodních nul pomocí 12hodinového formátu (například 1:15:15 PM). Použijte %h , pokud se jedná o jediný znak v uživatelsky definovaném číselném formátu.
hh Zobrazí hodinu jako číslo s počátečními nulami pomocí 12hodinového formátu (například 01:15:15 PM).
H Zobrazí hodinu jako číslo bez úvodních nul pomocí 24hodinového formátu (například 1:15:15). Použijte %H , pokud se jedná o jediný znak v uživatelsky definovaném číselném formátu.
HH Zobrazí hodinu jako číslo s počátečními nulami pomocí 24hodinového formátu (například 01:15:15).
m Zobrazí minutu jako číslo bez úvodních nul (například 12:1:15). Použijte %m , pokud se jedná o jediný znak v uživatelsky definovaném číselném formátu.
mm Zobrazí minutu jako číslo s úvodními nulami (například 12:01:15).
s Zobrazí sekundu jako číslo bez počátečních nul (například 12:15:5). Použijte %s , pokud se jedná o jediný znak v uživatelsky definovaném číselném formátu.
ss Zobrazí sekundu jako číslo s úvodními nulami (například 12:15:05).
f Zobrazí zlomky sekund. Například ff zobrazí setiny sekund, zatímco ffff zobrazí desetitisítiny sekund. V uživatelsky definovaném formátu můžete použít až sedm f symbolů. Použijte %f , pokud se jedná o jediný znak v uživatelsky definovaném číselném formátu.
t Použije 12hodinový formát a zobrazí velká písmena A pro libovolnou hodinu před polednem; zobrazí velká písmena P pro libovolnou hodinu mezi polednem a 23:59. Použijte %t , pokud se jedná o jediný znak v uživatelsky definovaném číselném formátu.
tt Pro národní prostředí, která používají 12hodinový formát, zobrazí velká písmena AM s libovolnou hodinou před polednem a velkými písmeny PM s libovolnou hodinou mezi polednem a 23:59.

Pro národní prostředí, která používají 24hodinový formát, se nezobrazí nic.
y Zobrazí číslo roku (0–9) bez počátečních nul. Použijte %y , pokud se jedná o jediný znak v uživatelsky definovaném číselném formátu.
yy Zobrazí rok ve dvouciferném číselném formátu s úvodní nulou, pokud lze použít.
yyy Zobrazí rok ve čtyřciferném číselném formátu.
yyyy Zobrazí rok ve čtyřciferném číselném formátu.
z Zobrazí posun časového pásma bez počáteční nuly (například -8). Použijte %z , pokud se jedná o jediný znak v uživatelsky definovaném číselném formátu.
zz Zobrazí posun časového pásma s počáteční nulou (například -08).
zzz Zobrazí úplný posun časového pásma (například -08:00).

Příklad kódu starší verze

Následují příklady uživatelsky definovaných formátů data a času pro December 7, 1958, 8:50 PM, 35 seconds:

Formát Zobrazí
M/d/yy 12/7/58
d-MMM 7-Dec
d-MMMM-yy 7-December-58
d MMMM 7 December
MMMM yy December 58
hh:mm tt 08:50 PM
h:mm:ss t 8:50:35 P
H:mm 20:50
H:mm:ss 20:50:35
M/d/yyyy H:mm 12/7/1958 20:50

Poznámky pro vývojáře inteligentního zařízení

Minimální rozlišení času zařízení určuje výrobce zařízení. Pokud je časové rozlišení zařízení dostatečně hrubé, f vrátí znak formátu při spuštění na daném zařízení hodnotu 0.

Platí pro

Viz také