作为标题。 我测试了NSScanner,但它传递了一些奇怪的字符串。 (例如:123aaa)。 有没有办法严格转换字符串< - >数字?
答案 0 :(得分:1)
您可以轻松自己动手。测试是否扫描了整个字符串,或者是否有其他字符。
NSScanner *scanner = [NSScanner localizedScannerWithString:str];
int i;
if (![scanner scanInt:&i] || [scanner scanLocation] < [str length]) {
// str contains additional characters
...
} else {
// str contains only an int
...
}
答案 1 :(得分:0)
NSScanner不是那么高级别。你必须自己验证字符串。
一种方法是将字符扫描到数字集,断言失败,然后扫描数字,然后scan to the end并断言失败。