Share via


Format-Funktion für Visual Basic 6.0-Benutzer

Aktualisiert: November 2007

Die Format-Funktion von Visual Basic 2008 folgt nun der Common Language Runtime-(CLR-)Spezifikation zum Formatieren von Daten. Weitere Informationen zum Formatieren von Daten in .NET Framework finden Sie unter Formatierung von Typen.

In den folgenden Abschnitten werden die Änderungen in Visual Basic 2008 für benutzerdefinierte Datums-/Uhrzeit-, numerische und Zeichenfolgenformate aufgeführt.

Benutzerdefinierte Datums-/Uhrzeitformate

Visual Basic 6.0

Um in Visual Basic 6.0 ein kurzes oder langes Datum anzuzeigen, müssen Sie entweder den Formatspezifizierer "ddddd" oder "dddddd" verwenden. Der DayOfWeek-Spezifizierer ("w") und der WeekOfYear-Spezifizierer ("ww") zeigen den Tag an, der als erster Wochentag betrachtet wird bzw. die Woche, die als erste Woche des Jahres betrachtet wird. Mit dem Kleinbuchstaben "m" wird der Monat als Zahl ohne vorangestellte Null angezeigt. Mit dem Quarter-Spezifizierer ("q") werden die Quartale des Jahres als Zahlen von 1 bis 4 angezeigt.

Verwenden Sie entweder den Formatspezifizierer "Nn" oder "N", um eine Minute als Zahl mit oder ohne vorangestellten Nullen anzuzeigen. Mit den Zeichen "Hh" wird die Stunde als Zahl mit vorangestellten Nullen und mit "ttttt" die vollständige Uhrzeit angezeigt. Um vor jeder Stunde vor- oder nachmittags ein großes oder kleines "A" oder "P" anzuzeigen, können Sie "AM/PM", "am/pm", "A/P", "a/p" oder "AMPM" verwenden.

Der Spezifizierer für ein kurzes Datums-/Uhrzeitformat ("c") zeigt ein Datum und eine Uhrzeit im "ddddd ttttt"-Format an.

Visual Basic 2005

In Visual Basic 2008 verhalten sich "ddddd" und "dddddd" wie "dddd", das den vollständigen Tagesnamen anzeigt. Damit wird kein kurzes oder langes Datum angezeigt. DayOfWeek ("w") und WeekOfYear ("ww") werden nicht unterstützt. Stattdessen können Sie die DatePart-Funktion wie im folgenden Beispiel gezeigt verwenden.

Format(DatePart(DateInterval.Weekday, Now))


...


Format(DatePart(DateInterval.WeekOfYear, Now))

"M" und "m" haben unterschiedliche Bedeutung; deshalb wird zwischen Groß- und Kleinschreibung unterschieden. Verwenden Sie das große "M" nur für den Monat im Datumsteil eines Datum-/Uhrzeitformats und "m" nur für die Minuten im Teil für die Uhrzeit.

Der Quarter-Formatspezifizierer wird nicht unterstützt. Stattdessen können Sie die DatePart-Funktion wie im folgenden Beispiel gezeigt verwenden.

Format(DatePart(DateInterval.Quarter, Now))

Verwenden Sie "mm" oder "m", um die Minutenangabe als Zahl mit bzw. ohne vorangestellte 0 (null) anzuzeigen. Das "ttttt"-Format wird nicht mehr unterstützt. "H" und "h" haben unterschiedliche Bedeutung; deshalb wird zwischen Groß- und Kleinschreibung unterschieden. Verwenden Sie das große "H" nur für das 24-Stunden-Format und das kleine "h" nur für das 12-Stunden-Format. Die AM/PM-Formate werden durch "t" und "tt" ersetzt.

Der "c"-Spezifizierer wird zur Währungsformatierung verwendet. Verwenden Sie zum Formatieren von Datum/Uhrzeit "g" als Spezifizierer für eine kurze Datums-/Uhrzeitangabe und "G" als allgemeinen Datums-/Uhrzeitspezifizierer. Sowohl "g" als auch "G" verwenden die aktuelle Gebietsschemaeinstellung, um die entsprechenden Datums- und Uhrzeitformate zu bestimmen.

Benutzerdefinierte numerische Formate

Visual Basic 6.0

In Visual Basic 6.0 konvertiert die Format-Funktion bei Bedarf Zeichenfolgen in Zahlen, bevor diese formatiert werden. Format zeigt ein nachgestelltes Dezimalzeichen an, wenn keine Dezimalstellen vorhanden sind.

Visual Basic 6.0 unterstützt vier Abschnitte in der Formatierungszeichenfolge. Diese sind durch Semikolons (;) voneinander getrennt und geben an, wie positive, negative, 0-(null-) sowie NULL-Werte formatiert werden. Negative Zahlen mit einem leeren negativen Abschnitt der Formatzeichenfolge zeigen eine leere Zeichenfolge an.

Die Formatierung in Exponentialdarstellung unterstützt den "0"-Ziffernplatzhalter und den "#"-Ziffernplatzhalter hinter dem Exponenten.

Visual Basic 2005

In Visual Basic 2008 werden von der Format-Funktion vor dem Formatieren Zeichenfolgen nicht in Zahlen umgewandelt. Sie müssen im ersten Argument eine Zahl anstelle einer Zeichenfolge übergeben. Im folgenden Beispiel erzielt die erste Codezeile in Visual Basic 2008 nicht das gewünschte Ergebnis, während dies bei der zweiten Codezeile der Fall ist.

MsgBox(Format("1.234", "#.#"))   ' Displays "#.#".


...


MsgBox(Format(CSng("1.234"), "#.#"))   ' Displays "1.2".

Nachgestellte Dezimalzeichen werden nicht angezeigt (siehe folgendes Beispiel):

MsgBox(Format(123, "###."))   ' Displays "123"


...


MsgBox(Format(123, "###.#"))   ' Displays "123"

Visual Basic 2008 unterstützt in der Formatierungszeichenfolge drei Abschnitte zum Formatieren von positiven, negativen und 0-(null-)Werten. Wenn ein Wert, der nicht 0 (null) ist, entsprechend des ersten oder zweiten Formatabschnitts auf 0 (null) gerundet wird, wird er entsprechend dem dritten Abschnitt formatiert. Negative Zahlen mit einem leeren negativen Abschnitt der Formatzeichenfolge zeigen ein Minuszeichen an (siehe folgendes Beispiel):

MsgBox(Format(-1, ";"))   ' Displays "-".

Die Formatierung in Exponentialdarstellung unterstützt nur den "0"-Ziffernplatzhalter und nicht "#". Im folgenden Beispiel erzielt die erste Codezeile in Visual Basic 2008 nicht das gewünschte Ergebnis, während dies bei der zweiten Codezeile der Fall ist.

MsgBox(Format(123, "#e+#"))   ' Displays "12e+3".


...


MsgBox(Format(123, "#e+0"))   ' Displays "1e+2".

Zeichenfolgenformat

Visual Basic 6.0

In Visual Basic 6.0 können Sie mit den Spezifizierern @, &, <, > und ! Ausdrücke für benutzerdefinierte Formatzeichenfolgen erstellen.

Visual Basic 2005

In Visual Basic 2008 gibt es keine Ausdrucksunterstützung für benutzerdefinierte Formatzeichenfolgen, sodass die Formatspezifizierer @, &, <, > und ! keine Bedeutung haben und nicht mehr unterstützt werden.

Siehe auch

Konzepte

Date und Time für Visual Basic 6.0-Benutzer

Änderungen an der Unterstützung von Programmierelementen (Zusammenfassung)

Referenz

Format-Funktion

DatePart-Funktion (Visual Basic)