亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Objective-C將十六進制字符串解析為整數

Objective-C將十六進制字符串解析為整數

茅侃侃 2019-10-29 13:15:35
我想知道如何在Objective-C中解析代表數字的十六進制字符串。我愿意同時使用目標方法或基于C的方法。例:#01FFFFAB應該解析為整數:33554347任何幫助,將不勝感激!
查看完整描述

3 回答

?
牧羊人nacy

TA貢獻1862條經驗 獲得超7個贊

Joshua Weinberg的答案基本上是正確的,但是0x在掃描十六進制整數時,前綴是可選的。如果您使用格式的字符串#01FFFFAB,您仍然可以使用 NSScanner,但是您可以跳過第一個字符。


unsigned result = 0;

NSScanner *scanner = [NSScanner scannerWithString:@"#01FFFFAB"];


[scanner setScanLocation:1]; // bypass '#' character

[scanner scanHexInt:&result];


查看完整回答
反對 回復 2019-10-29
?
慕哥6287543

TA貢獻1831條經驗 獲得超10個贊

您可以為此使用NSScanner


unsigned int outVal;

NSScanner* scanner = [NSScanner scannerWithString:@"0x01FFFFAB"];

[scanner scanHexInt:&outVal];

outVal將包含您要查找的int。0x是可選的。


查看完整回答
反對 回復 2019-10-29
?
慕妹3146593

TA貢獻1820條經驗 獲得超9個贊

您可以使用以下行進行轉換。它只有一行代碼:


NSString *hexString = @"01FFFFAB";

length = (UInt64)strtoull([hexString UTF8String], NULL, 16);

NSLog(@"The required Length is %d", length);

快樂編碼!


查看完整回答
反對 回復 2019-10-29
  • 3 回答
  • 0 關注
  • 599 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號