Hi, wie kann ich einen String in eine HEx-Zahl umwandeln, wobei der String schon das richtige Format hat. Also z.B. Sring a = "FF00"; dann sollte so konvertiert werden. int b = Convert.ToInt16(a); b sollte dann 0xFF00 sein. Hab im inernet gsucht aber nichts gfune. Danke für eure Hilfe. Gruß Agit
Agit A. schrieb: > wie kann ich einen String in eine HEx-Zahl umwandeln überhaupt nicht, dann ein computer kennt keine HEX-Zahlen. Hex ist eine darstellungsform mehr mehr nicht. du willst also eine Zahl habe. Und google liefert gleich als erstes http://msdn.microsoft.com/de-de/library/bb311038.aspx
Hi Peter, danke für die schnelle Antwort. Ich denke ich hab mein Problem nicht klar geschildert. Also: in der GUI habe ich ein Textfeld, dass wenn ich irgendwas drücke HEX werte ausgibt. Dieses Textfeld speichere ich in einen String, wobei es eigentlich shcon der Wert ist den ich benötige. Aber ich kann ja aus dem Textfeld nicht direkt einen Integer machen oder? Nun habe ich meinen String "FF00EE11". daraus brauch ich halt byte zum biespiel = 0XFF00EE11 Vielen Dank für die Hilfe Gruß Agit
Agit A. schrieb: > daraus brauch ich halt byte zum biespiel = 0XFF00EE11 nein das brauchst du nicht, denn 0XFF00EE11 = 4278251025 = 0b11111111000000001110111000010001 = 037700167021 wie der computer es intern speichert kann dir ziehmlich egal sein. du Willst eine Zahl mehr nicht. Und dieses steht im den verlinkten artikel wie es geht.
Hi Peter, Klar war dumm von mir. Es ist ja nur eine Darstellugnsorm für den mensch. Danke nochmal Gruß Agit
Hi, hab da doch noch ne frage. Der String wird bei deiner Funktion in Hex gewandelt. Ich willl aber dass der String so bleibt wie er ist und ich ihn als Integer weiterverwenden kann anstatt als string. Verstehst du was ich meine? String "abbaa" ( ist eigentlich schon der richtige Hex-Wert muss nicht gewandelt werden, will aber als Integer haben nicht als String) Danke für die antwort Gruß Agit
Hallo, dir einzelnen Zeichen sind als ASCII Code im String hinterlegt. Jedes Zeichen belegt ein Byte (kein UNICODE) mit dem Wert aus der ASCII Tabelle. "0" hat den Wert 48, "9" den Wert 57, "A" hat 65 und "F" hat 70. Value=0 Schleife: Value=Value*16 nächstes Zeichen von links nach c holen wenn c>="0" und c<="9": cWert=c-48 wenn c>="A" und c<="F": cWert=c-55 Value= Value+cWert nächstes Zeichen Waldo
Agit A. schrieb: > Ich willl aber dass der String so bleibt wie er ist und ich ihn als > Integer weiterverwenden kann anstatt als string. > Verstehst du was ich meine? nein - das ist nicht zu verstehen. entweder willst du eine zahl haben oder eine String beides gleichzeitig geht nicht.
Hi, ich muss nichts wandeln, will nur meinen String als Ineger haben. Es soll ich also nu der datentyp ändern. Aus string a = "ab22" soll int a = 0xab22 werden. Den String bekomm ich aus einer Textbox. Will den Wert der Box aber als Integer haben. Gruß Agit
a = "0x" + a; Convert.ToInt32(a, 16); ausm Kopf heraus müssts so gehn. Schau dir mal die Überladungen für Convert.ToInt32 an.
Agit A. schrieb: > will nur meinen String als Ineger haben. > Es soll ich also nu der datentyp ändern. und genau das geht nicht, man kann aus einen String kein Integer und umwandlung machen. Ich versteh immer noch nicht was du willst.
Hi Georg, oh mann wenn ich gewusst hätte, dass es so einfach ist. Vielen Dank. War gooldwert der Tipp. Genau das habe ich gesucht. Gruß Agit
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.