Zeichen und Zeichenketten ersetzen

Aus Byte-Welt Wiki
Zur Navigation springenZur Suche springen

Stellen wir uns vor, wir möchten einen Geldbetrag in einer Variable mit dem primitiven Datentyp double speichern, und dann diesen Geldbetrag in Euro auf der Konsole anzeigen lassen. Wir wollen in unsere double Variable 11 Euro und 12 Cent speichern. In den Fließkommazahlen dürfen wir kein Komma verwenden, sondern müssen einen Punkt verwenden. So weit so gut. Am Ende wollen wir unseren Geldbetrag auf der Konsole anzeigen lassen. Wenn wir das machen, werden wir auf Ihrem Bildschirm folgende Zahl sehen: '11.12'. Wir wollen jedoch eine Zahl in diesem Format haben: 11,12. Wie machen wir das? Schauen wir uns dieses Beispiel an:

public class Ersetzen {

	public static void main(String[] args) {

		double zahl = 11.12;
		String s 	= String.valueOf(zahl);
		
		char c 		= ',';
		
		s =  s.replace('.', c);

		System.out.println("Euro: " + s);

	}

}

Was haben wir hier gemacht? Erstmal haben wir eine double Variable deklariert und definiert. Danach haben wir mit Hilfe der String-Klasse unsere double Variable zu String umgewandelt, dafür haben wir valueOf()-Methode verwendet. Wir haben das getan, weil Strings aus Zeichenketten bestehen, und wir wollen ein Zeichen ersetzen, deshalb passt das ganz gut für das was wir vorhaben. Jetzt ist unsere Variable zahl nicht mehr von Typ double, sondern vom Typ String und wir können jetzt beliebigen Zeichen ersetzen. Dafür deklarieren wir eine Variable und speichern dort unsere Komma als Zeichen hinein. Jetzt benutzen wir die replace()-Methode der Klasse String und geben 2 Parameter an. Der erste Parameter ist das Zeichen, das wir ersetzen wollen und der zweite Parameter ist unser Zeichen, welches anderen Zeichen ersetzt. Unser Zeichen ist in der Variable c gespeichert, deshalb übergeben wir die als Parameter. Und dann geben wir unsere Zahl aus, die so aussieht: 11,12.
Mit dieser Methode kann man übrigens auch mehr als ein Zeichen ersetzen, in dem man der replace-Methode Strings übergibt.

Siehe auch