この形式の文字列座標50.3332W
を、対応する浮動小数点表現-50.3332
に変換したいとします。座標文字列を浮動小数点に変換する
私はこれのようなものを持っていますが、それはちょうどW
文字を置き換えて、最後にマイナス記号を置きます。
NSString *newtest = [_myTextField.text stringByReplacingOccurrencesOfString:@"W" withString:@"-"];
これに関する助けが役に立ちます。
この形式の文字列座標50.3332W
を、対応する浮動小数点表現-50.3332
に変換したいとします。座標文字列を浮動小数点に変換する
私はこれのようなものを持っていますが、それはちょうどW
文字を置き換えて、最後にマイナス記号を置きます。
NSString *newtest = [_myTextField.text stringByReplacingOccurrencesOfString:@"W" withString:@"-"];
これに関する助けが役に立ちます。
// *** Your string value ***
NSString *value = @"50.3332W";
// *** Remove `W` from string , convert it to float and make it negative by multiplying with -1.
CGFloat floatValue = [[value stringByReplacingOccurrencesOfString:@"W" withString:@""] floatValue] * -1;
// ** Result negative float value without `W` **
NSLog(@"%f",floatValue);
、この方法を試してみてください:
- (float)coordinateToFloat:(NSString*)coordinateString {
NSRegularExpression *regex = [NSRegularExpression regularExpressionWithPattern:@"(\\d+\\.?\\d+?)(W)" options:NSRegularExpressionCaseInsensitive error:nil];
NSString* preffixString = [regex stringByReplacingMatchesInString:coordinateString options:0 range:NSMakeRange(0, coordinateString.length) withTemplate:@"$2$1"];
NSString* normalizedString = [preffixString stringByReplacingOccurrencesOfString:@"W" withString:@"-"];
return normalizedString.floatValue;
}
その後、あなたはこのようにそれを呼び出すことができます。
[self coordinateToFloat:@"50.3332W"]; // Returns -50.3332
[self coordinateToFloat:@"50.3332"]; // Returns 50.3332
彼はおそらく唯一の、それは 'が含まれている場合、それは負になりたいですそれは座標のように見える。 – redent84
OPはこのようなことは言及していません。 –
元の質問によると、彼は 'W 'を' - 'に置き換えたいと思っていました。そして、 'W'の存在にかかわらず常に' --'を挿入しています。あなたの投稿がそれに答えるならば、それは間違った答えです。 – redent84