如何从十六进制NSString中获取十进制的int

时间:2012-01-23 17:46:32

标签: iphone objective-c ios

我想从Hex编码的字符串中获取dec值, 例如:A-> 10,B-> 11等。 我编码如下

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

但是NSLog输出不是我所希望的..

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

有人可以告诉我怎样才能解决这个问题????

1 个答案:

答案 0 :(得分:13)

你应该使用

[scanner scanHexInt:&temp];

scanHexInt:需要一个指针,而不是一个值。