Dize koordinatını 50.3332W
biçimindeki -50.3332
eşdeğer yüzer gösterime dönüştürmek istiyorum.Koordinat dizesini float
Şu anda böyle bir şeyim var ama sadece W
karakterinin yerine geçer ve eksi işaretini sonuna yerleştirir.
NSString *newtest = [_myTextField.text stringByReplacingOccurrencesOfString:@"W" withString:@"-"];
Bu konuyla ilgili herhangi bir yardım yardımcı olabilir. Böyle diyebilirsin, Sonra
- (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;
}
:
Muhtemelen sadece içerdiği takdirde negatif istiyor ' Bir koordinat gibi görünüyor. – redent84
OP böyle bir şeyden bahsetmedi, mesajım OP'nin ne istediğini cevapladı. –
Özgün soruya göre, 'W' yi bir' -' ile değiştirmek istedi. Ve sen, her zaman, "W" nin varlığından bağımsız olarak, '-' ekliyorsun. Mesajınız cevap veriyorsa, yanlış bir cevap. – redent84