2011-11-04 7 views
0

빠른 질문이 있습니다. 나는 부호없는 정수로 텍스트 필드에 텍스트를 변환 할, 그리고 여기에 내가 할 수있는 작업은 다음과 같습니다iOS - NSString to uint

uint nmbr = [textfield.text intValue]; 

의지 목표 - C 암시 적으로 캐스팅 nmbr 해석 부호없는 int로서 또는이 작업을 수행하는 또 다른 방법이있다?

+0

가능한 복제본 : http://stackoverflow.com/questions/2824110/how-to-convert-an-nsstring-to-an-unsigned-int-in-cocoa –

+0

NSString에서 부호없는 값을 읽는 지원을 요청하려면, http://bugreport.apple.com을 방문하여 radar : // 2264733의 구성 요소를'Foundation | X '. –

답변

3

예 그렇다면 암시 적으로 반환 값을 부호없는 int로 변환합니다. 텍스트 입력란에 음수가 포함되어 있으면 예기치 않은 부호없는 값이 표시됩니다 (예 : -1은 4294967295). 정수형

2
int atoi (const char * str); 

변환 문자열 int 값으로 반환되는 정수로서 그 내용을 해석 STR은 C 문자열을 파싱.

이 함수는 첫 번째 비 공백 문자가 발견 될 때까지 필요한만큼 많은 공백 문자를 먼저 삭제합니다. 그런 다음이 문자로 시작하여 선택적 초기 더하기 또는 빼기 기호 다음에 가능한 한 많은 숫자 자릿수를 취하여 숫자 값으로 해석합니다.

문자열에는 정수를 형성하는 문자 뒤에 추가 문자가 포함될 수 있습니다.이 문자는 무시되며이 함수의 동작에 영향을주지 않습니다.

str의 공백이 아닌 문자의 첫 번째 시퀀스가 ​​유효한 정수가 아니거나 str이 비어 있거나 공백 문자 만 있기 때문에 그러한 시퀀스가없는 경우 변환이 수행되지 않습니다.

매개 변수

캐릭터 라인 정수의 표현으로 시작 C 문자열입니다.

반환 값 성공시 변환 된 정수를 int 값으로 반환합니다. 유효한 변환을 수행 할 수없는 경우 0 값이 반환됩니다. 올바른 값이 표현 가능한 값 범위를 벗어나면 INT_MAX 또는 INT_MIN이 반환됩니다.