我有一个格式为易于阅读的电话号码的电话号码,即(123) 123-4567
int
但是,当我想在代码中使用该电话号码时,我需要将该字符串解析为一个数字变量(例如
但是,[string intValue];
不起作用-我intValue
在以前的项目中使用了大约一百万次,都没有问题,但是在这里,我传入的每个字符串,我得到的都是相同的,随机int
退出:
- (int)processPhoneNumber:(NSString *)phoneNumber {
NSMutableString *strippedString = [NSMutableString stringWithCapacity:10];
for (int i=0; i<[phoneNumber length]; i++) {
if (isdigit([phoneNumber characterAtIndex:i])) {
[strippedString appendFormat:@"%c",[phoneNumber characterAtIndex:i]];
}
}
NSLog(@"clean string-- %@", strippedString);
int phoneNumberInt = [strippedString intValue];
NSLog(@"**** %d\n &i", phoneNumberInt, phoneNumberInt);
return phoneNumberInt;
}
然后当我调用这个方法时:
NSLog(@"%i", [self processPhoneNumber:self.phoneNumberTextField.text]);
我得到:2147483647
。 我给这个方法的每个输入都会返回:2147483647