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: 013. 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