Strings.Format(Object, String) Metódus

Definíció

Egy formázási String kifejezés utasításainak megfelelően formázott sztringet ad vissza.

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

Paraméterek

Expression
Object

Kötelező. Bármilyen érvényes kifejezés.

Style
String

Optional. Érvényes névvel ellátott vagy felhasználó által definiált formátumkifejezés String .

Válaszok

Egy formázási String kifejezés utasításainak megfelelően formázott sztring.

Példák

Ez a példa a függvény különböző használatával formázza az értékeket mind a Format formátumok, mind String a felhasználó által definiált formátumok használatával. A dátumelválasztó (/), az időelválasztó (:) és az AM/PM jelzők (t és tt) esetében a rendszer által megjelenített tényleges formázott kimenet a kód területi beállításaitól függ. A fejlesztőkörnyezetben a kód területi beállításának megfelelő rövid időformátum és rövid dátumformátum jelenik meg.

Note

A 24 órás időt használó területi beállításoknál az AM/PM jelzők (t és tt) semmit sem jelenítenek meg.

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%")

Megjegyzések

A String.Format módszer hasonló funkciókat is biztosít.

Ha nem lokális numerikus sztringet formáz, felhasználó által definiált numerikus formátumot kell használnia, hogy biztosan a kívánt megjelenést kapja.

Ha megadásával próbál formázni egy számot Style, a függvény a FormatStr függvényhez hasonló funkciókat biztosít, bár nemzetközileg is tisztában van vele. A függvényt használó Format sztringként formázott pozitív számok azonban nem tartalmaznak az érték jeléhez fenntartott kezdő szóközt; a Str függvény használatával konvertált számok megtartják a kezdő szóközt.

Különböző numerikus értékek különböző formátumai

A számok felhasználó által definiált formátumkifejezései egytől háromig lehetnek pontosvesszővel elválasztva. Ha a StyleFormat függvény argumentuma az előre definiált numerikus formátumok egyikét tartalmazza, csak egy szakasz engedélyezett.

Ha a Ez az eredmény
Csak egy szakasz A formátumkifejezés minden értékre érvényes.
Két szakasz Az első szakasz pozitív értékekre és nullákra vonatkozik; a második a negatív értékekre vonatkozik.
Három szakasz Az első szakasz a pozitív értékekre, a második a negatív értékekre, a harmadik pedig a nullákra vonatkozik.

A következő példa két szakaszból áll: az első a pozitív értékek és nullák formátumát határozza meg; a második szakasz a negatív értékek formátumát határozza meg. Mivel a StyleFormat függvény argumentuma sztringet használ, idézőjelek közé kerül.

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

Ha olyan pontosvesszőket tartalmaz, amelyek között nincs köztük semmi, a hiányzó szakaszt a rendszer a pozitív érték formátumával nyomtatja ki. Az alábbi formátum például pozitív és negatív értékeket jelenít meg az első szakaszban szereplő formátummal, és megjeleníti Zero , ha az érték nulla.

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

Előre definiált numerikus formátumok

Az alábbi táblázat az előre definiált numerikus formátumneveket azonosítja. Ezek név alapján használhatók a StyleFormat függvény argumentumaként:

Formátum neve Leírás
General Number, G vagy g Ezres elválasztójel nélküli számot jelenít meg.

Például a Format(&H3FA, "g")1018 értéket ad vissza.
Currency, C vagy c Ha szükséges, ezres elválasztójellel jeleníti meg a számot; két számjegyet jelenít meg a decimális elválasztótól jobbra. A kimenet a rendszer területi beállításain alapul.

Például a Format(1234567, "c")$1,234,567.00 értéket ad vissza.
Fixed, F vagy f Legalább egy számjegyet jelenít meg balra és két számjegyet a tizedeselválasztótól jobbra.

Például a Format(1234567, "f")1234567.00 értéket ad vissza.
Standard, N vagy n Ezres elválasztójellel rendelkező számot jelenít meg, legalább egy számjegyet balra és két számjegyet a tizedeselválasztótól jobbra.

Például a Format(1234567, "n")1,234,567.00 értéket ad vissza.
Percent A számot 100-zal szorozva jeleníti meg, a jobb oldalon közvetlenül hozzáfűzött százalékjel (%) mellett; mindig két számjegyet jelenít meg a tizedeselválasztótól jobbra.

Például a Format(0.4744, "Percent")47.44% értéket ad vissza.
Pvagy p Az ezredik elválasztójellel rendelkező számokat 100-zal szorozva jeleníti meg a jobb oldalon hozzáfűzött százalékjellel (%) és egyetlen szóközzel elválasztva; mindig két számjegyet jelenít meg a tizedeselválasztótól jobbra.

Például a Format(0.80345, "p")80.35 % értéket ad vissza.
Scientific Szabványos tudományos jelölést használ, amely két jelentős számjegyet biztosít.

Például a Format(1234567, "Scientific")1.23E+06 értéket ad vissza.
Evagy e Szabványos tudományos jelölést használ, amely hat jelentős számjegyet biztosít.

Például a Format(1234567, "e")1.234567e+006 értéket ad vissza.
Dvagy d A számot karakterláncként jeleníti meg, amely a szám értékét decimális (10. alap) formátumban tartalmazza. Ez a beállítás csak az integráltípusok (Byte, Short, , IntegerLong) esetében támogatott.

Például a Format(&H7F, "d")127 értéket ad vissza.
Xvagy x A számot karakterláncként jeleníti meg, amely hexadecimális (16. alap) formátumban tartalmazza a szám értékét. Ez a beállítás csak az integráltípusok (Byte, Short, , IntegerLong) esetében támogatott.

Például a Format(127, "x")7f értéket ad vissza.
Yes/No Megjeleníti No , ha a szám 0, ellenkező esetben megjelenik Yes.

Például a Format(0, "Yes/No")No értéket ad vissza.
True/False Megjeleníti False , ha a szám 0, ellenkező esetben megjelenik True.

Például a Format(1, "True/False")True értéket ad vissza.
On/Off Megjeleníti Off , ha a szám 0, ellenkező esetben megjelenik On.

Például a Format(1, "On/Off")On értéket ad vissza.

Intelligens eszközök fejlesztői megjegyzései

A Yes/No, True/Falseés On/Off a formátumok nem támogatottak.

User-Defined numerikus formátumok

Az alábbi táblázat a felhasználó által definiált számformátumok létrehozásához használható karaktereket azonosítja. Ezek használhatók a függvény argumentumának StyleFormat létrehozásához:

Karakter Leírás
None Formázás nélkül jeleníti meg a számot.
(0) Számjegy helykitöltő. Számjegyet vagy nullát jelenít meg. Ha a kifejezésnek van egy számjegye abban a pozícióban, ahol a nulla megjelenik a formátumsztringben, jelenítse meg; ellenkező esetben egy nulla jelenik meg ebben a pozícióban.

Ha a számnak kevesebb számjegye van, mint nulla (a tizedesvessző mindkét oldalán) a formátumkifejezésben, akkor a kezdő vagy záró nullákat jeleníti meg. Ha a számnak több számjegye van a tizedeselválasztótól jobbra, mint a decimális elválasztótól jobbra lévő nullák a formátumkifejezésben, a számot annyi tizedesjegyre kerekít, amennyi nulla. Ha a számnak több számjegye van a tizedeselválasztótól balra, mint a decimális elválasztótól balra lévő nullák a formátumkifejezésben, a további számjegyeket módosítás nélkül jeleníti meg.
(#) Számjegy helykitöltő. Egy számjegy vagy semmi megjelenítése. Ha a kifejezés egy számjegyet tartalmaz abban a pozícióban, ahol a # karakter megjelenik a formázási sztringben, megjeleníti azt, ellenkező esetben semmit sem jelenít meg ebben a pozícióban.

Ez a szimbólum a 0 számjegy helyőrzőjéhez hasonlóan működik, azzal a kivételsel, hogy a kezdő és záró nullák nem jelennek meg, ha a szám kevesebb számjegyet tartalmaz, mint # a formátumkifejezésben a tizedeselválasztó két oldalán szereplő karakterek.
(.) Tizedes helyőrző. A tizedesjegy-helyőrző határozza meg, hogy hány számjegy jelenjen meg a tizedeselválasztó bal és jobb oldalán. Ha a formátumkifejezés csak # a szimbólumtól balra lévő karaktereket tartalmazza, az 1-nél kisebb számok tizedeselválasztóval kezdődnek. A törtszámmal megjelenített kezdő nulla megjelenítéséhez használja a nullát a tizedeselválasztótól balra lévő első számjegy helyőrzőjeként. Egyes területi beállításokban vesszőt használunk tizedesjelként. A formázott kimenetben tizedesjegyként használt tényleges karakter a rendszer által felismert számformátumtól függ. Ezért akkor is érdemes az időszakot tizedeshelyőrzőként használni a formátumokban, ha olyan területi beállításban van, amely vesszőt használ tizedeshelyőrzőként. A formázott sztring a területi beállításnak megfelelő formátumban jelenik meg.
(%) Helyőrző százalékos aránya. Megszorozza a kifejezést 100-tal. A százalék karakter (%) abban a pozícióban lesz beszúrva, ahol a formátumsztringben megjelenik.
(,) Ezer elválasztó. Az ezer elválasztó több ezert választ el száztól egy számon belül, amelynek négy vagy több helye van a tizedesjeltől balra. Az ezer elválasztó szabványos használata akkor van megadva, ha a formátum számjegyek (0 vagy #) által körülvett ezer elválasztót tartalmaz.

Az ezer elválasztó közvetlenül a decimális elválasztótól balra (akár decimális, akár nem) vagy a sztring jobb szélső karaktereként azt jelenti, hogy "skálázza a számot 1000-rel osztva, szükség szerint kerekítve". Az 1000-nél kisebb, de 500-nál nagyobb vagy egyenlő számok a következőképpen jelennek meg1, az 500-nál kisebb számok pedig .0 Ebben a pozícióban két szomszédos ezer elválasztó skálázható 1 millióval, és további 1000 tényező minden további elválasztónál.

A decimális elválasztótól vagy a sztring jobb szélső helyzetétől eltérő tetszőleges pozícióban lévő több elválasztót egyszerűen úgy kezeli a rendszer, hogy megadja az ezer elválasztó használatát. Egyes területi beállításokban egy pontot használnak ezer elválasztóként. A formázott kimenet ezer elválasztójaként használt tényleges karakter a rendszer által felismert számformátumtól függ. Ezért akkor is használja a vesszőt ezer elválasztóként a formátumokban, ha egy olyan területi beállításban van, amely egy pontot használ ezer elválasztóként. A formázott sztring a területi beállításnak megfelelő formátumban jelenik meg.

Vegyük például a következő három formátumsztringet:

- "#,0.", amely az ezres elválasztó használatával formázza a 100 millió számot "100 000 000" sztringként.
- "#0,.", amely skálázást használ egy ezres tényezővel a 100 millió szám "100000" sztringként való formázásához.
- "#,0,.", amely az ezres elválasztót és az ezres skálázást használja a 100 millió szám "100 000" sztringként való formázásához.
(:) Időelválasztó. Egyes területi beállításokban más karakterek is használhatók az időelválasztó megjelenítéséhez. Az időelválasztó elválasztja az órákat, perceket és másodperceket az időértékek formázásakor. A formázott kimenet időelválasztójaként használt tényleges karaktert a rendszerbeállítások határozzák meg.
(/) Dátumelválasztó. Egyes területi beállításokban más karakterek is használhatók a dátumelválasztó megjelenítéséhez. A dátumelválasztó elválasztja a dátumértékek formázásának napját, hónapjait és évét. A formázott kimenetben dátumelválasztóként használt tényleges karaktert a rendszerbeállítások határozzák meg.
(E-``E+``e-``e+) Tudományos formátum. Ha a formátumkifejezés legalább egy számjegyhelyőrzőt (0 vagy ) tartalmaz a , , #E-vagy E+, vagy e-bal oldaláne+, a szám tudományos formátumban jelenik meg, és Ee a szám és a kitevő közé van beszúrva. A bal oldali számjegyhelyőrzők száma határozza meg a kitevőben lévő számjegyek számát. Használjon E- mínuszjelet a negatív kitevők mellé, vagy e- helyezzen el egy mínuszjelet. A negatív kitevők mellé mínuszjelet, a pozitív kitevők mellé pluszjelet helyezhet el E+ vagy e+ segítségével. A helyes formázáshoz a szimbólumtól jobbra lévő számjegyhelyőrzőket is meg kell adnia.
- + $ ( ) Literális karakterek. Ezek a karakterek pontosan a formátumsztringben megadott módon jelennek meg. Ha a felsoroltaktól eltérő karaktert szeretne megjeleníteni, akkor azt fordított perjellel (\) kell megelőznie, vagy idézőjelek közé kell foglalnia (" ").
(\) Megjeleníti a következő karaktert a formátumsztringben. Ha egy speciális jelentésű karaktert szeretne literális karakterként megjeleníteni, akkor azt fordított perjel (\) előzi meg. Maga a fordított perjel nem jelenik meg. A fordított perjel használata ugyanaz, mint a következő karakter dupla idézőjelek közé helyezése. Fordított perjel megjelenítéséhez használjon két fordított perjelet (\\).

A literális karakterekként nem megjeleníthető karakterek például a dátum- és időformázási karakterek (a, , , c, dh, m, n, , p, qstwyés/), a numerikus formázási karakterek (:, , #, 0, %, , Evessző és pont) és a sztringformázási karakterek (e, @, , &, <és ).>!
("``ABC``") Megjeleníti a sztringet a kettős idézőjeleken (" "). Ha sztringet szeretne belefoglalni a stílusargumentumba a kódon belülről, a szöveget be kell Chr(34) foglalnia (34 az idézőjel (")karakterkódja).

Régi kód példa

Az alábbi táblázat néhány számformátum-mintakifejezést tartalmaz. (Ezek a példák mind feltételezik, hogy a rendszer területi beállítása angol–amerikai) Az első oszlop a függvény argumentumához tartozó Style formázási Format sztringeket tartalmazza, a többi oszlop pedig az eredményül kapott kimenetet, ha a formázott adatok az oszlopfejlécekben megadott értéket tartalmazzák.

Formátum (Style) "5" formátum: "-5" formátum: "0.5" formátum
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

Előre definiált dátum-/időformátumok

Az alábbi táblázat az előre definiált dátum- és időformátum-neveket azonosítja. Ezek név alapján használhatók a függvény stílusargumentumaként Format :

Formázott név Leírás
General Datevagy G Dátumot és/vagy időt jelenít meg. Például: 3/12/2008 11:07:31 AM. A dátummegjelenítést az alkalmazás aktuális kulturális értéke határozza meg.
Long Date, Medium Date vagy D A jelenlegi kultúra hosszú dátumformátumának megfelelő dátumot jelenít meg. Például: Wednesday, March 12, 2008.
Short Datevagy d A jelenlegi kultúra rövid dátumformátumával jeleníti meg a dátumot. Például: 3/12/2008.

A d karakter felhasználó által megadott dátumformátumban jeleníti meg a napot.
Long Time, Medium Time vagy T Az aktuális kulturális környezet hosszú időformátumával jeleníti meg az időt; általában órákat, perceket, másodperceket tartalmaz. Például: 11:07:31 AM.
Short Time vagy t Az aktuális kultúra rövid időformátumával jeleníti meg az időt. Például: 11:07 AM.

A t karakter olyan területi beállításokat jelenít meg AM vagy PM értékeket tartalmaz, amelyek felhasználó által megadott időformátumban 12 órás órát használnak.
f Megjeleníti a hosszú dátumot és a rövid időt az aktuális kultúra formátumának megfelelően. Például: Wednesday, March 12, 2008 11:07 AM.
F Megjeleníti a hosszú dátumot és a hosszú időt az aktuális kultúra formátumának megfelelően. Például: Wednesday, March 12, 2008 11:07:31 AM.
g Megjeleníti a rövid dátumot és a rövid időt az aktuális kultúra formátumának megfelelően. Például: 3/12/2008 11:07 AM.
M, m Egy dátum hónapját és napját jeleníti meg. Például: March 12.

A M karakter felhasználó által megadott dátumformátumban jeleníti meg a hónapot. A m karakter felhasználó által megadott időformátumban jeleníti meg a perceket.
R, r A dátumot a RFC1123Pattern tulajdonságnak megfelelően formázhatja. Például: Wed, 12 Mar 2008 11:07:31 GMT. A formázott dátum nem módosítja a dátum és az idő értékét. A függvény meghívása előtt módosítania kell a Dátum/idő értéket GMT értékre Format .
s Rendezhető indexként formázja a dátumot és az időt. Például: 2008-03-12T11:07:31.

A s karakter a másodperceket felhasználó által megadott időformátumban jeleníti meg.
u A dátumot és az időt GMT rendezhető indexként formázja. Például: 2008-03-12 11:07:31Z.
U Formázja a dátumot és az időt a hosszú dátummal és a hosszú idővel GMT formátumban. Például: Wednesday, March 12, 2008 6:07:31 PM.
Y, y A dátumot évként és hónapként formázja. Például: March, 2008.

A Y karakterek az y évet felhasználó által megadott dátumformátumban jelenítik meg.

Az alkalmazás aktuális kulturális adatairól a Visual Basic Kultúra hatással van sztringjeinek megjelenítése című témakörben talál további információt.

User-Defined dátum-/időformátumok

Az alábbi táblázat a felhasználó által definiált dátum-/időformátumok létrehozásához használható karaktereket mutatja be. A Visual Basic korábbi verzióitól eltérően ezek a formátumkarakterek megkülönböztetik a kis- és nagybetűket.

Karakter Leírás
(:) Időelválasztó. Egyes területi beállításokban más karakterek is használhatók az időelválasztó megjelenítéséhez. Az időelválasztó elválasztja az órákat, perceket és másodperceket az időértékek formázásakor. A formázott kimenet időelválasztójaként használt tényleges karaktert az alkalmazás aktuális kulturális értéke határozza meg.
(/) Dátumelválasztó. Egyes területi beállításokban más karakterek is használhatók a dátumelválasztó megjelenítéséhez. A dátumelválasztó elválasztja a dátumértékek formázásának napját, hónapjait és évét. A formázott kimenetben dátumelválasztóként használt tényleges karaktert az alkalmazás aktuális kultúrája határozza meg.
(%) Azt jelzi, hogy a következő karaktert egybetűs formátumban kell olvasni, a záró betűkre való tekintet nélkül. Azt is jelzi, hogy az egybetűs formátumot a rendszer felhasználó által definiált formátumként olvassa be. További részletekért tekintse meg az alábbiakat.
d A napot számként jeleníti meg bevezető nulla nélkül (például 1). Akkor használja %d , ha ez az egyetlen karakter a felhasználó által definiált numerikus formátumban.
dd A napot számként jeleníti meg egy kezdő nullával (például 01).
ddd A napot rövidítésként jeleníti meg (például Sun).
dddd A napot teljes névként jeleníti meg (például Sunday).
M A hónapot számként jeleníti meg kezdő nulla nélkül (például a januárt jelöli 1). Akkor használja %M , ha ez az egyetlen karakter a felhasználó által definiált numerikus formátumban.
MM A hónapot számként jeleníti meg egy kezdő nullával (például 01/12/01).
MMM A hónapot rövidítésként jeleníti meg (például Jan).
MMMM A hónapot teljes hónapnévként jeleníti meg (például January).
gg Megjeleníti a pont/ér sztringet (például A.D.).
h Az órát számként jeleníti meg nullák nélkül a 12 órás óra használatával (például 1:15:15 PM). Akkor használja %h , ha ez az egyetlen karakter a felhasználó által definiált numerikus formátumban.
hh Az órát számként jeleníti meg, a 12 órás óra használatával (például 01:15:15 PM).
H Az órát nullák nélküli számként jeleníti meg a 24 órás óra használatával (például 1:15:15). Akkor használja %H , ha ez az egyetlen karakter a felhasználó által definiált numerikus formátumban.
HH Az órát számként jeleníti meg a 24 órás (például 01:15:15) kezdő nullákkal.
m A percet számként jeleníti meg nullák nélkül (például 12:1:15). Akkor használja %m , ha ez az egyetlen karakter a felhasználó által definiált numerikus formátumban.
mm A percet számként jeleníti meg kezdő nullákkal (például 12:01:15).
s A másodikat számként jeleníti meg kezdő nullák nélkül (például 12:15:5). Akkor használja %s , ha ez az egyetlen karakter a felhasználó által definiált numerikus formátumban.
ss A másodikat számként jeleníti meg kezdő nullákkal (például 12:15:05).
f Másodperc törtrészeit jeleníti meg. Például ff több száz másodpercet jelenít meg, míg ffff a tízezredik másodpercet. Felhasználó által megadott formátumban legfeljebb hét f szimbólumot használhat. Akkor használja %f , ha ez az egyetlen karakter a felhasználó által definiált numerikus formátumban.
t A 12 órás órát használja, és a dél előtti órákban egy kisbetűt A jelenít meg, dél és 11:59 óra között pedig egy kisbetűt P . Használja %t , ha ez az egyetlen karakter a felhasználó által definiált numerikus formátumban.
tt A 12 órás területi beállításoknál a dél előtt bármely órával megjelenő nagybetűk AM ; a dél és a 11:59 óra közötti bármely órával rendelkező nagybetűket PM jelenítik meg.

A 24 órás órát használó területi beállításoknál semmit sem jelenít meg.
y Az évszámot (0-9) jeleníti meg kezdő nullák nélkül. Akkor használja %y , ha ez az egyetlen karakter a felhasználó által definiált numerikus formátumban.
yy Az évet kétjegyű numerikus formátumban jeleníti meg, ha van ilyen, kezdő nullával.
yyy Az évet négyjegyű numerikus formátumban jeleníti meg.
yyyy Az évet négyjegyű numerikus formátumban jeleníti meg.
z Bevezető nulla (például -8) nélkül jeleníti meg az időzóna eltolását. Akkor használja %z , ha ez az egyetlen karakter a felhasználó által definiált numerikus formátumban.
zz Bevezető nullával (például -08) jeleníti meg az időzóna eltolását
zzz Megjeleníti a teljes időzónás eltolást (például -08:00)

Régi kód példa

Az alábbiakban példákat láthat a felhasználó által megadott dátum- és időformátumokra a következőhöz December 7, 1958, 8:50 PM, 35 seconds:

Format Kijelzők
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

Intelligens eszközök fejlesztői megjegyzései

Az eszköz minimális időfeloldását az eszköz gyártója határozza meg. Ha az eszköz időfeloldása elég durva, a f formátum karakter 0 értéket ad vissza az eszközön való futtatáskor.

A következőre érvényes:

Lásd még