"We are back" « oc.at

java problem (string -> integer)

-fenix- 12.04.2003 - 00:24 1276 7
Posts

-fenix-

OC Addicted
Registered: Dec 2001
Location: Wien 21
Posts: 4650
also ich steh irgendwie an

was ich habe:
einen string der an einer fixen stelle eine zahl enthält (zB position 0 und 1)

was ich brauche:
einen integer der diese beiden zahlen enthält

wie kann ich den konvertieren bzw den wert übertragen?

aja und kann man überprüfen ob ein char (zeichen) eine zahl ist oder nicht? bzw. ein bestimmtes zeichen oder nicht (befindet sich ebenfalls im string)

TIA

atrox

in fairy dust... I trust!
Avatar
Registered: Sep 2002
Location: HTTP/1.1 404
Posts: 2782
zum zerschneiden von Strings: java.util.StringTokenizer bzw String.substring()

zum konvertieren von Strings zu einer Zahl: Integer.parseInt() bzw Integer.valueOf()
oder Float.parseFloat(), ...

zur überprüfung einzelner Zeichen: String.charAt();
Bearbeitet von atrox am 12.04.2003, 10:05

-fenix-

OC Addicted
Registered: Dec 2001
Location: Wien 21
Posts: 4650
thx für die antwort aber so weit war ich auch schon nur irgendwie haut das nicht hin :(

das mit charAt is schon klar ich hab aber gemeint wie man überprüfen kann ob es sich da um eine zahl handelt wenn man den char schon hat

atrox

in fairy dust... I trust!
Avatar
Registered: Sep 2002
Location: HTTP/1.1 404
Posts: 2782
du meinst sowas wie
Code:
if (char >= '0' && char <= '9') {
// ist eine ziffer
  int ziffer=char-'0';
} else {
// ist irgendwas anderes
}
falls es noch nicht klar ist, poste doch mal einen beispielstring damit es für mich/uns klarer ist.

Zitat
thx für die antwort aber so weit war ich auch schon nur irgendwie haut das nicht hin
dann gib doch bekannt was du schon probiert hast evt. mit code, dann tun wir uns leichter, vermeiden unnötiges herumgerate und du kommst schneller zur richtigen lösung. wir können ja nicht wissen was du schon gemacht hast, und was nicht.
Bearbeitet von atrox am 12.04.2003, 12:52

-fenix-

OC Addicted
Registered: Dec 2001
Location: Wien 21
Posts: 4650
so das erste hab ich schon gelöst :)

und wegen dem 2.

ich hab einen string Eingabe (der enthält zB "12334234" oder "1e3cg223")

mit Eingabe.substring(0, 2) hol ich mir einen teil vom string raus

jetzt will ich überprüfen ob da nur zahlen drin sind (im substring)

wenn nur zahlen -> zahl in eine integervariable

wenn sonderzeichen, buchstaben etc. dabei sind -> einen boolean auf false

und unabhängig davon müsst ich noch wissen ob zB an stelle Eingabe.charAt(4) das zeichen "." is
wenn ja -> boolean true
wenn nein -> boolean false
Bearbeitet von -fenix- am 12.04.2003, 13:36

Ecraft

Here to stay
Registered: Mar 2002
Location:
Posts: 1096
es gibt auch
Character.isDigit(char xy) liefert true wenn Buchstabe xy eine Zahl, ansonsten false.

für was gibts eigentlich eine Docu?

Zitat
isDigit
public static boolean isDigit(char ch)Determines if the specified character is a digit.
A character is a digit if its general category type, provided by Character.getType(ch), is DECIMAL_DIGIT_NUMBER.

Some Unicode character ranges that contain digits:

'\u0030' through '\u0039', ISO-LATIN-1 digits ('0' through '9')
'\u0660' through '\u0669', Arabic-Indic digits
'\u06F0' through '\u06F9', Extended Arabic-Indic digits
'\u0966' through '\u096F', Devanagari digits
'\uFF10' through '\uFF19', Fullwidth digits
Many other character ranges contain digits as well.

Parameters:
ch - the character to be tested.
Returns:
true if the character is a digit; false otherwise.
See Also:
digit(char, int), forDigit(int, int), getType(char)

http://java.sun.com/j2se/1.4.1/docs/api/

Iterier einfach über den Substring und prüf es mit dieser Methode... Man könnte z.b. solange diese Methode true liefert jedes zeichen in einem String zusammenfügen und diesen String falls isDigit() false liefert mittels Integer.parseInt(String st) in eine Zahl umwandeln und irgendwo speichern... etc.
Bearbeitet von Ecraft am 12.04.2003, 15:30

-fenix-

OC Addicted
Registered: Dec 2001
Location: Wien 21
Posts: 4650
Zitat von Ecraft
Character.isDigit(char xy) liefert true wenn Buchstabe xy eine Zahl, ansonsten false.

juhu, genau sowas hab ich gemeint :)
Bearbeitet von -fenix- am 12.04.2003, 15:39

-fenix-

OC Addicted
Registered: Dec 2001
Location: Wien 21
Posts: 4650
ich denke jetzt passt alles - jedenfalls läuft es wie es soll :D


thx@all
Kontakt | Unser Forum | Über overclockers.at | Impressum | Datenschutz