2017-05-21 44 views
0

我目前正在努力弄清楚如何通過目標C將十六進制NSString轉換爲計算int。我想要一個Objective C函數,它將得到一個NSString例如輸入。就像這樣:十六進制NSString爲int目標C目前C

NSString *hexString = @"0x0f"; 

,並返回十進制值(作爲int):

int hexValue = 15; (converted) 

如。使用這個網站,瞭解如何獲得十六進制的十進制: http://www.binaryhexconverter.com/hex-to-decimal-converter

如果有人能告訴我如何做到這一點,這將是巨大的感謝:d (在Objective C),並請儘量做一個小的代碼儘可能:)

回答

-1

不要擔心我想通了。如果任何人有這個問題,那麼你可以使用我的回答:

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

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

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

希望這有助於任何人誰需要這個:)

+0

BTW:警告標誌存在是有原因的,你不應該不理會他們,那**非常糟糕的建議**。 'scanHexInt:'需要一個指向'unsigned int'的指針,並且你正在傳遞一個指向'long'的指針。幸運的是,您傳遞的內存大於所需內存,並且CPU的字節順序避免了災難。 – CRD

+0

好的thx,我修好了 – Lucasware