我有一个字符串 "Number: 0.3456" 如何删除 "Number:" 部分以使用它从中提取双精度值 "0.3456" NSRange
?
问问题
352 次
3 回答
1
如果Number: X.XXX
是固定模式,您只需执行类似的操作
NSString * string = @"Number: 0.3456";
NSString * prefix = @"Number: ";
NSString * doubleString = [string substringFromIndex:prefix.length];
double yourDouble = [doubleString doubleValue];
如果你真的想使用NSRange
你可以做类似的事情
NSString * string = @"Number: 0.3456";
NSString * substringToRemove = @"Number: ";
NSRange substringRange = [string rangeOfString:substringToRemove];
NSString * doubleString = [string stringByReplacingCharactersInRange:substringRange
withString:@""];
double yourDouble = [doubleString doubleValue];
主要区别在于第二个示例将从原始字符串中删除所有出现的字符串,而第一个示例将仅删除前缀。Number:
于 2013-01-23T22:46:52.890 回答
0
我建议你使用 [NSScanner scanDouble:]
于 2013-01-23T23:05:32.320 回答
0
您可以使用 NSScanner,只要您先设置扫描位置:
double result;
NSString *str = @"Number: 0.3456";
NSScanner *scanner = [NSScanner scannerWithString:str];
[scanner setScanLocation:[@"Number: " length]];
[scanner scanDouble:&result];
请记住,scanDouble:
返回YES
或NO
指示扫描是否成功。
于 2013-01-24T00:10:23.167 回答