String in Java zum Rechnen bringen?

3 Antworten

Der String muss geparst werden. Welche exakten Schritte dafür notwendig sind, lässt sich nur am String selbst beurteilen. Wenn der Wert bspw. "5" lautet, reicht es, mit parseInt / o.ä. zu arbeiten, bei "5m" wiederum müsstest du erst die Einheit wegschneiden und bei einem Wortlaut wie "fünf" wäre eine Assoziation notwendig.

Also:

1) Nutze die parse-Methoden der Klassen Integer / Float / Double (je nachdem, was du brauchst).

Beispiel:

String value = "5.0";
float number = Float.parseFloat(value);

Referenz

2) Nutze für komplexere Zeichenketten die Methoden der Klasse String oder einen regulären Ausdruck, um Ziffern aus dem String zu extrahieren.

3) Bei ausgeschriebenen Zahlen wäre es praktisch, entweder eine Map anzulegen, die zwischen String und Integer assoziiert oder eine Auswertung mit switch-case.

ohwehohach  25.06.2021, 11:34

Zu 2) Bedenke, dass das Ergebnis dessen auch wieder ein String ist, der mit 1) in eine Zahl umgewandelt werden muss.

1

Was meinst Du mit "rechnen"? Mit Strings kann man nicht "rechnen". Strings sind Zeichenfolgen.

Du kannst höchstens den Inhalt eines Strings in eine Zahl umwandeln und dann mit dieser Rechnen.

Der String "123" ist etwas anderes als die Zahl 123.

mischling0815 
Fragesteller
 25.06.2021, 11:27

Also meine Aufgabe ist:wie konventiere ich einen String sio um, dass ich damit damit rechnen kann!

0
ohwehohach  25.06.2021, 11:32
@mischling0815

Das funktioniert aber nur mit Strings, welche etwas enthalten, was man auch in eine Zahl umwandeln kann (basierend auf einem gegebenen Locale). Wohin möchtest Du denn "Hallo Klaus" gerne umwandeln und wie soll dann damit gerechnet werden?

Eine Möglichkeit wäre:

int number = Integer.parseInt(str);

Damit bekommst Du eben die Zahl, die der String repräsentiert. Wenn es keine Ganzzahl sein soll dann geht das ebenso mit Double.praseDouble(String s); etc.

Beachte, dass solche Konvertierungen immer von den eingestellten Sprachfeatures abhängen. Im Deutschen enthält der String "1,0" zwar eine korrekte Zahl, Du wirst aber Probleme haben, das in eine korrekte Kommazahl umzuwandeln, wenn Du nicht explizit angibst, dass der Inhalt der deutschen Notation folgt.

0

Soll das heißen du hast einen String der eine Zahl enthält und diesen String möchtest du in einen Datentyp umwandeln mit dem man rechnen kann?

Woher ich das weiß:Studium / Ausbildung – Staatlich geprüfter Informatiker 2021
mischling0815 
Fragesteller
 25.06.2021, 11:22

Nein, ich soll einen String konventieren oder casten, um damit rechnen zu können.

0
Spongebob11001  25.06.2021, 11:54
@mischling0815

Benutze die Klasse Integer und ihre Methode toString. Damit kannst du String nach Int konvertieren, wenn sie nur aus Zahlen bestehen.

0