因为不知道字符串中的数字是用什么字符分割的,所以用了下面方法
NSString numberStr = @"123,456,789";
for (int i=0;i<[numberStr length];i++) {
if ([numberStr characterAtIndex:i]>'9'||[numberStr characterAtIndex:i]<'0') {
char c = [numberStr characterAtIndex:i];
spit = [spit stringByAppendingFormat:@"%c",c];
break;
}
}
刚开始用了网上所有关于字符转换成字符串的方法:
方法一: char * a = (char*)malloc(sizeof(byte)*16); NSData *data = [NSData dataWithBytes: a length:strlen(a)];
NSString* aStr= [NSString alloc] initWithData:data encoding:NSASCIIStringEncoding];
方法二: 转换为NSString: - (id)initWithUTF8String:(const char *)bytes 然后用NSString的 - (NSData *)dataUsingEncoding:(NSStringEncoding)encoding
方法三:
NSString *string_content = [[NSString alloc] initWithCString (const char*)char_array encoding:NSASCIIStringEncoding];
方法四:
NSString *speedValue=[speedValue stringByAppendingFormat:@"%c",speedChar];
但是都不好使,总报错。
后来发现:
char c = [numberStr characterAtIndex:i];
我写成了 char *c = [numberStr characterAtIndex:i];
所以出错!注意这点