Bir dizeyi tam sayıya dönüştürmede sorun yaşıyorum. Google'da araştırdım ama bulabildiğim tek şey bir int'i dizeye nasıl dönüştürebileceğim. Başka türlü nasıl yapılacağını bilen var mı? Teşekkürler.
Yanıtlar:
NSString Sınıf Referansına bakın .
NSString *string = @"5";
int value = [string intValue];
Ne dersin
[@"7" intValue];
Ek olarak, eğer istersen NSNumber
yapabilirsin
NSNumberFormatter *numberFormatter = [[NSNumberFormatter alloc] init];
[numberFormatter numberFromString:@"7"];
numberFromString
bir örnek yöntem gibi görünüyor , bu yüzden bunun yerine yapmalısınız . [[NSNumberFormatter new] numberFromString:@"7"];
[[[NSNumberFormatter alloc] init] numberFromString:@"7"];
uyarınca
Kullanırım:
NSInteger stringToInt(NSString *string) {
return [string integerValue];
}
Ve tam tersi:
NSString* intToString(NSInteger integer) {
return [NSString stringWithFormat:@"%d", integer];
}
unrecognized selector
aslında gönderecek çünkü @selector(intToString:)
değil @selector(intToString)
. Elbette bunun yerine böyle olmalı - (NSInteger) stringToInt:(NSString *)string;
ve- (NSString *)intToString:(NSInteger)integer;
NSString *
@David'in dediği gibi olması gerekiyor .
Swift 3.0:
Int("5")
veya
let stringToConvert = "5"
Int(stringToConvert)
Bunun gibi bir şey yapmak zorundaydım ama benim için bir alıcı / ayarlayıcı kullanmak istedim. Özellikle bir metin alanından uzun bir süre dönmek istedim. Diğer cevapların hepsi de işe yaradı, okul projem geliştikçe benimkini biraz uyarladım.
long ms = [self.textfield.text longLongValue];
return ms;
NSString *string = /* Assume this exists. */;
int value = [string intValue];
Yine başka bir yol: Eğer bir C dizesi ile çalışıyorsanız, örneğin const char *, C native atoi()
daha kullanışlıdır.
Bir String numarasını bir Int'ye dönüştürmek için şunu yapmalısınız:
let stringNumber = "5"
let number = Int(stringNumber)