# String(Binärzahl) in Dezimal umwandeln



## Michael1975 (9. Mai 2009)

Hallo, also ich habe folgendes Problem:

Ich habe einen String (ich nenne ihn hier im Beispiel Bin_Zahl) vorliegen der eine Binärzahl enthält, also nur aus Nullen und Einsen besteht.

Diese soll in eine Dezimalzahl umgewandelt werden.

Dazu hatte ich vor die einzelnen Stellen des Strings nacheinander mit einer Schleife auszulesen um zu schauen ob es sich um eine 0 oder eine 1 an der betreffenden Stelle handelt.
Das wollte ich machen mit:

char StelleN = Bin_Zahl.charAt( n ); (wobei n die Schleifenvariable für die Stellen ist)

Dann habe ich in "char StelleN" auch eine 1 oder 0 stehen.

Jetzt müsste ich ja noch jede 1 mit der entsprechenden zweierpotenz multiplizieren (und am Ende alles addieren).

Damit ich die Rechnungen ausführen kann wollte ich den char in eine int variable umwandeln mit:

Int IntZahl = Integer.parseInt(StelleN);

Das geht aber wohl nicht da sich char wohl nicht in Integer überführen lässt.

Kann mir jemand helfen wie man dieses Problem lösen kann?


----------



## Wildcard (9. Mai 2009)

Das gibt es schon fertig.
Integer (Java Platform SE 6))


----------



## Michael1975 (9. Mai 2009)

Ja , ich bin aber gerade dabei Java zu lernen und habe eine Aufgabe in der ich das selbst machen soll, aber leider bekomme ich das so nicht hin


----------



## SlaterB (9. Mai 2009)

int x = (int) n;
allerdings ist x dann der ASCII-Code, siehe Internet

oder schau noch besser nach Hilfsmethoden in der Klasse Character


----------



## Ezra (10. Mai 2009)

Lies Dich mal hier ein: http://www.java-forum.org/java-basics-anfaenger-themen/82540-dual-dezimal-umwandeln.html
Ist genau das gleiche Problem 
Die Umwandlung geht über: z = Character.digit(string.charAt(stelle), 2);


----------

