[Java] Ausgabe durch Angabe des Formats mit printf% s,% d,% f [Formatbezeichner]

Funktion, die das Anzeigeformat angibt

Wenn Sie eine Funktion mit f am Ende verwenden, z. B. printf (), können Sie das Anzeigeformat und die Ausgabe angeben.

Ich habe es noch nie benutzt, aber ich kann nichts tun, ohne es selbst zu versuchen. Versuchen wir es also, während wir es versuchen.

Bedeutung jedes Formats

Spezifizierer Entsprechender Typ Erläuterung
%s string Zeichenfolge ausgeben
%d int Ganzzahl in Dezimalschreibweise ausgeben
%f float Reelle Zahl ausgeben

Anwendungsbeispiel

public class MyApp {
		
	public static void main(String[] args) {
		int score = 50; // %d entspricht
		double height = 165.8; // %f entspricht
		String name = "mako"; // %s entspricht

		System.out.printf("name: %s, score: %d, height: %f\n", name, score, height);
		System.out.printf("name: %-10s, score: %10d, height: %5.2f\n", name, score, height);

		String s = String.format("name: %-10s, score: %-10d, height: %5.2f\n", name, score, height);
		System.out.println(s);
	}
}

Ausführungsergebnis


name: mako, score: 50, height: 165.800000
name: mako      , score:         50, height: 165.80
name: mako      , score: 50        , height: 165.80

Wenn ich die Bedeutung des Alphabets verstehen würde, wäre ich nicht zu schüchtern.

1.% s s ist String 2. f in% f ist float 3. d in% d ist Dezimal (Dezimal)

In diesem Sinne würde ich das nicht vermeiden. Die Art und Weise, die Argumente von printf zu schreiben, scheint für Anfänger etwas kompliziert zu sein, aber alles, was Sie tun müssen, ist, die Variablennamen als Argumente der Reihe nach zu übergeben.

Es ist leicht zu verstehen, wenn Sie sich beruhigen und einige davon selbst ausprobieren.

Sie können die Anzeigeziffer und rechtsbündig und linksbündig angeben.

%10s //Bereiten Sie sich auf 10 Ziffern vor und begründen Sie dies mit Recht
%-10s //Bereiten Sie sich auf 10 Ziffern vor und richten Sie sie linksbündig aus
%10s //Bereiten Sie sich auf 10 Ziffern vor und begründen Sie dies mit Recht
%-10s //Bereiten Sie sich auf 10 Ziffern vor und richten Sie sie linksbündig aus
%5.3f //Zeigen Sie den ganzzahligen Teil in 5 Ziffern und den Minderheitenteil in 3 Ziffern an

Für die letzten% 5.3f halte ich es für wenig sinnvoll, den ganzzahligen Teil anzugeben. .. ..

public static void main(String[] args) {
  double f = 12345.12345;
	System.out.printf("%f\n", f);
	System.out.printf("%.3f\n", f);
	System.out.printf("%3.3f\n", f);
  }
}

Ausführungsergebnis


12345.123450
12345.123
12345.123

Wenn der ganzzahlige Teil die angegebene Anzahl von Ziffern überschreitet, wird er unverändert angezeigt. Nur wenige Teile haben sich geändert.

Die Anzeige ist für% .3f und% 3.3f gleich.

Recommended Posts

[Java] Ausgabe durch Angabe des Formats mit printf% s,% d,% f [Formatbezeichner]
Format der Protokollausgabe von Tomcat selbst in Tomcat 8
[Kotlin] Konvertieren Sie ZonedDateTime in String, indem Sie das Format angeben
Konvertieren Sie ein zweidimensionales Array mit der Java 8 Stream-API in das CSV-Format
Verarbeiten Sie die vom menschlichen Sensor HC-SR501 erkannte Bewegung mit Raspberry Pi 3 & Java