문자열을 정수로 변환


87

문자열을 정수로 변환하는 데 문제가 있습니다. 나는 그것을 봤지만 내가 찾을 수있는 것은 int를 문자열로 변환하는 방법입니다. 다른 방법으로 수행하는 방법을 아는 사람이 있습니까? 감사.

답변:



22

어때

[@"7" intValue];

또한 원하는 경우 NSNumber할 수 있습니다

NSNumberFormatter *numberFormatter = [[NSNumberFormatter alloc] init];
[numberFormatter numberFromString:@"7"];

6
좋은 주 님 NSNumberFormatter는 복잡합니다 ... "기능 완료"를 의미합니다.
Dave Dopson 2012

4
조심 - iOS7에가에 numberFromString것 같다 인스턴스 방법보다는 클래스 하나, 당신이해야하므로 [[NSNumberFormatter new] numberFromString:@"7"];대신.
mgarciaisaia 2014-08-06

@mgarciaisaia는 우리가 stackoverflow.com/questions/719877/에[[[NSNumberFormatter alloc] init] numberFromString:@"7"]; 따라 하지 말아야합니다.
Michael Osofsky 2014-08-30

3

나는 사용한다:

NSInteger stringToInt(NSString *string) {
    return [string integerValue];
}

그 반대:

NSString* intToString(NSInteger integer) {
    return [NSString stringWithFormat:@"%d", integer];
}

1
반환 값을 확인하십시오. NSString *
AWF4vk 2011

NSUserDefaults에서 가져온 데이터를 사용하고 있으므로 NSString * string =
MacN00b

둘 중 하나가 실제로 작동합니까? 확실히 정의에는 세미콜론이 필요합니다 . 그렇지 않으면 unrecognized selector실제로 전송 @selector(intToString:)하지 않기 때문에 충돌 @selector(intToString)합니다. 확실히 대신 다음과 같이해야 - (NSInteger) stringToInt:(NSString *)string;하고- (NSString *)intToString:(NSInteger)integer;
Paul.s

1
둘 다 C 함수입니다. 그것은 할 필요가 NSString *@ 데이비드 말했듯이,하지만.
Espresso

환호 @Espresso 나는 C에는 배경이 그래서 더욱 의미가 없었다
Paul.s


1

이것은 문자열을 int로 변환하는 간단한 솔루션입니다.

NSString *strNum = @"10";
int num = [strNum intValue];

그러나 당신이 때 텍스트 필드에서 값을 받고 다음,

int num = [txtField.text intValue];

여기서 txtFieldUITextField 의 출력입니다.


1

나는 이와 같은 일을해야했지만 getter / setter를 사용하고 싶었습니다. 특히 텍스트 필드에서 long을 반환하고 싶었습니다. 다른 답변도 모두 잘 작동했으며 학교 프로젝트가 발전함에 따라 약간의 적응으로 끝났습니다.

long ms = [self.textfield.text longLongValue];
return ms;

0
NSString *string = /* Assume this exists. */;
int value = [string intValue];

나는 NSUserDefaults에서 가져온 데이터를 사용하고 있으므로 NSString * string =
MacN00b

1
NSString * string = [[NSUserDefaults standardUserDefaults] stringForKey : @ "YOUR_KEY"];
Benjamin Mayo

0

아주 쉽게..

int (name of integer) = [(name of string, no ()) intValue];


0

또 다른 방법 : 예를 들어 const char *와 같이 C 문자열로 작업하는 경우 C native atoi()가 더 편리합니다.


0

다음과 같이 사용할 수도 있습니다.

NSInteger getVal = [self.string integerValue];


0

String 숫자를 Int 로 변환하려면 다음을 수행해야합니다.

let stringNumber = "5"
let number = Int(stringNumber)

이것은 기존 답변의 정확한 중복입니다.
Pranav Kasetti
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.