【发布时间】:2014-07-08 21:56:43
【问题描述】:
我有一个字符串“999999999999528106”,我将它传递给 NSScanner,但输出不正确。结果我得到 2147483647。
我猜我的字符串的大尺寸不适合 NSInteger。任何线索
NSScanner *aScanner = [NSScanner scannerWithString:iString];
NSMutableCharacterSet *aCharset = [NSMutableCharacterSet whitespaceAndNewlineCharacterSet];
[aCharset formUnionWithCharacterSet:[NSCharacterSet symbolCharacterSet]];
[aScanner setCharactersToBeSkipped:[aCharset copy]];
NSInteger anIntegerResult = 0;
[aScanner setScanLocation:0];
if ([aScanner scanInteger:&anIntegerResult] && aScanner.isAtEnd)
return @(anIntegerResult);
【问题讨论】:
标签: ios objective-c cocoa-touch nsscanner