java problem (string -> integer)

Seite 1 von 1 - Forum: Coding Stuff auf overclockers.at

URL: https://www.overclockers.at/coding-stuff/java_problem_string_gt_integer_74664/page_1 - zur Vollversion wechseln!


-fenix- schrieb am 12.04.2003 um 00:24

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 schrieb am 12.04.2003 um 10:03

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();


-fenix- schrieb am 12.04.2003 um 11:48

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 schrieb am 12.04.2003 um 12:49

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.


-fenix- schrieb am 12.04.2003 um 13:30

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


Ecraft schrieb am 12.04.2003 um 15:23

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.


-fenix- schrieb am 12.04.2003 um 15:34

Zitat von Ecraft
Character.isDigit(char xy) liefert true wenn Buchstabe xy eine Zahl, ansonsten false.

juhu, genau sowas hab ich gemeint :)


-fenix- schrieb am 12.04.2003 um 19:41

ich denke jetzt passt alles - jedenfalls läuft es wie es soll :D


thx@all




overclockers.at v4.thecommunity
© all rights reserved by overclockers.at 2000-2025