2017-05-21 2 views
0

Ich bin derzeit kämpfen, um herauszufinden, wie ein hexadezimaler NSString in eine berechnete int über Objective C konvertieren. Ich versuche, eine Objective C-Funktion, die mit einem NSString z. Wie folgt aus:Hexadezimal NSString zu int Ziel C

NSString *hexString = @"0x0f"; 

und gibt den Dezimalwert (als int):

int hexValue = 15; (converted) 

zB. Nutzung diese Website zu erfahren, wie das Dezimalsystem von Hexadezimal zu erhalten: http://www.binaryhexconverter.com/hex-to-decimal-converter

Wenn jemand mir zeigen konnte, wie dies, dies zu tun großer Dank wäre: D (in Objective C) und versuchen Sie es den Code, um einen kleinen wie möglich :)

Antwort

-1

Keine Sorge, ich habe es herausgefunden. Wenn jemand anderes diese Frage hat, dann können Sie meine Antwort verwenden:

NSString *hexString = @"0x0f"; // hexString is inputted 

unsigned value = 0; 
NSScanner *scanner = [NSScanner scannerWithString:hexString]; 
[scanner scanHexInt:&value]; 

int decimalValue = (int)value; // decimalValue is outputted 

Hope this für jedermann hilft, die diesen

+0

BTW :) muss: Zeichen Vorsicht gibt es für einen Grund, und Sie sollten nicht einfach ignorieren sie, dass ist ** sehr schlechter Ratschlag **. 'scanHexInt:' erwartet einen Zeiger auf einen 'unsigned int' und Sie übergeben einen Zeiger an ein' long'. Zum Glück haben Sie einen größeren Speicherbereich als erforderlich und die Endlichkeit der CPU vermieden Katastrophe. – CRD

+0

Ok thx, ich habe es behoben – Lucasware