Freitag, 13. Februar 2009
Ausgabe formatieren
mattki, 12:46h
Mit
Syntax wie mit printf in C:
%[flags][width][.precision][length]specifier
Für die Formatierung stehen folgende Format-Spezifizierer zur Verfügung:
Nähere Informationen in den JDK JavaDocs zur Klasse java.util.Formatter.
Beispiele:
1. Strings:
2. Eine Dezimalzahl auf 2 Stellen formartieren, bei 1 stelligen Zahlen eine führende 0 anhängen:
3. Aktuelles Datum und Uhrzeit ausgeben:
4. Datum nach ISO-8601 (YYYY-MM-DD) formatieren:
String.format
kann man ab Java 1.5 einen Text inklusive Variablenwerte komfortable anzeigen Syntax wie mit printf in C:
%[flags][width][.precision][length]specifier
Für die Formatierung stehen folgende Format-Spezifizierer zur Verfügung:
%b
: Boolean%c
: Character%s
: String%d
: Dezimalzahl%x
: Hexadezimaldarstellung%X
: ^^ mit Großbuchstaben%f
: Fließkommazahl%e
: Wissenschaftliche Notation%E
: ^^ mit großem "E"%g
: Fließkommazahl in gemischter Schreibweise%G
: ^^ mit großem "E"%t
: Datum und Zeit%n
: neue Zeile%%
: Prozentzeichen%c
: Unicode-ZeichenNähere Informationen in den JDK JavaDocs zur Klasse java.util.Formatter.
Beispiele:
1. Strings:
String name = "Max";
String day = "Montag";
String.format("Hallo %s! Heute ist %s.", name, day);
// Ausgabe: Hallo Max! Heute ist Montag.
2. Eine Dezimalzahl auf 2 Stellen formartieren, bei 1 stelligen Zahlen eine führende 0 anhängen:
// flag = 0 --> mit 0-en auffüllen
// width = 2 --> auf 2 Stellen formatieren
// specifier = d --> Dezimalzahl
String.format("%02d", 1) // Ausgabe: 01
3. Aktuelles Datum und Uhrzeit ausgeben:
System.out.println(String.format("Datum %tD, Uhrzeit %tT", new Date(), new Date()));
4. Datum nach ISO-8601 (YYYY-MM-DD) formatieren:
System.out.println(String.format("%tF", new Date()));
... comment