文字列「Number:0.3456」があります。「Number:」の部分を削除して、double値「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];
主な違いは、2 番目の例では元の文字列からすべての文字列が削除されるNumber:
のに対し、最初の例ではプレフィックスのみが削除されることです。
于 2013-01-23T22:46:52.890 に答える
0
最初にスキャンの場所を設定する限り、NSScanner を使用できます。
double result;
NSString *str = @"Number: 0.3456";
NSScanner *scanner = [NSScanner scannerWithString:str];
[scanner setScanLocation:[@"Number: " length]];
[scanner scanDouble:&result];
orをscanDouble:
返すと、スキャンが成功したかどうかを示すことを忘れないでください。YES
NO
于 2013-01-24T00:10:23.167 に答える
0
I suggest you use [NSScanner scanDouble:]
于 2013-01-23T23:05:32.320 に答える