У мене проблеми з перетворенням рядка у ціле число. Я погуглив, але все, що я можу знайти, це як перетворити int у рядок. Хтось знає, як це зробити навпаки? Дякую.
Відповіді:
Див . Посилання на клас NSString .
NSString *string = @"5";
int value = [string intValue];
Як на рахунок
[@"7" intValue];
Крім того, якщо ви хочете, NSNumber
ви могли б це зробити
NSNumberFormatter *numberFormatter = [[NSNumberFormatter alloc] init];
[numberFormatter numberFromString:@"7"];
numberFromString
схоже, це метод екземпляра, а не клас , тому [[NSNumberFormatter new] numberFromString:@"7"];
замість цього вам слід це зробити .
[[[NSNumberFormatter alloc] init] numberFromString:@"7"];
як на stackoverflow.com/questions/719877 / ...
Я використовую:
NSInteger stringToInt(NSString *string) {
return [string integerValue];
}
І навпаки:
NSString* intToString(NSInteger integer) {
return [NSString stringWithFormat:@"%d", integer];
}
unrecognized selector
тому що ви на самому справі будете посилати @selector(intToString:)
НЕ @selector(intToString)
. Звичайно, натомість має бути так - (NSInteger) stringToInt:(NSString *)string;
і- (NSString *)intToString:(NSInteger)integer;
NSString *
все-таки, як сказав @David.
Свіфт 3.0:
Int("5")
або
let stringToConvert = "5"
Int(stringToConvert)
Мені довелося зробити щось подібне, але я хотів використовувати геттер / сеттер для мого. Зокрема, я хотів повернути довге з текстового поля. Всі інші відповіді також добре працювали, я просто трохи адаптував свою, коли мій шкільний проект еволюціонував.
long ms = [self.textfield.text longLongValue];
return ms;
NSString *string = /* Assume this exists. */;
int value = [string intValue];
Щоб перетворити числовий рядок у Int , вам слід зробити це:
let stringNumber = "5"
let number = Int(stringNumber)