2012-01-23 113 views
10

我想从十六进制编码的字符串 得到一个十进制值,例如:A-> 10,B-> 11等。 我编码为以下如何从十六进制NSString得到十进制整数int

NSString *tempNumber; 
tempNumber=number.text; 
NSScanner *scanner=[NSScanner scannerWithString:tempNumber]; 
unsigned int temp; 
[scanner scanHexInt:temp]; 
NSLog(@"%@:%d",tempNumber,temp); 

但NSLog的输出是不是我perfer ..

2012-01-24 01:34:57.703 TestingUnit[34861:f803] 4:-1073750472 
2012-01-24 01:35:01.133 TestingUnit[34861:f803] 6:-1073750408 
2012-01-24 01:35:01.983 TestingUnit[34861:f803] 2:-1073750408 
2012-01-24 01:35:02.414 TestingUnit[34861:f803] 1:-1073750408 

可能有人告诉我,我怎么能解决这个????

+0

编辑:没看过它。 – govi

+2

[Objective C解析十六进制字符串为整数]的可能重复(http://stackoverflow.com/questions/3648411/objective-c-parse-hex-string-to-integer) – vcsjones

回答

13

您应该使用

[scanner scanHexInt:&temp]; 

scanHexInt:预期的指针,而不是一个值。