반응형
Objective C에서 int를 문자열로 변환하는 방법 : 예제 코드
int에서 문자열로 변환하려고하는데 문제가 있습니다. 디버거를 통해 실행을 수행했고 'myT'문자열은 'sum'의 값을 얻지 만 'sum'이 10,11,12이면 'if'문이 올바르게 작동하지 않습니다. 숫자를 저장하기 위해 기본 int 유형을 사용하지 않아야합니까? 또한 내가 시도한 두 가지 방법 (주석 처리 된 코드 참조)은 'if'문의 실제 경로를 따르지 않습니다. 감사!
int x = [my1 intValue];
int y = [my2 intValue];
int sum = x+y;
//myT = [NSString stringWithFormat:@"%d", sum];
myT = [[NSNumber numberWithInt:sum] stringValue];
if(myT==@"10" || myT==@"11" || myT==@"12")
action = @"numGreaterThanNine";
주석 처리 된 버전이 더 정확한 방법입니다.
==문자열에 연산자 를 사용하는 경우 문자열의 값이 아닌 문자열의 주소 (메모리에 할당 된 위치)를 비교하는 것입니다. 이것은 매우 가끔 유용하지만 (정확히 동일한 문자열 객체를 가지고 있음을 나타냄) 99 %의 시간 동안 값을 비교하려고합니다.
if([myT isEqualToString:@"10"] || [myT isEqualToString:@"11"] || [myT isEqualToString:@"12"])
제안한대로 문자열에 int가 필요한 경우 가장 쉬운 방법은 다음과 같이하는 것입니다.
[NSString stringWithFormat:@"%d",numberYouAreTryingToConvert]
리터럴을 사용할 수 있습니다. 더 간결합니다.
NSString* myString = [@(17) stringValue];
(박스는 NSNumber 로 사용되며 stringValue 메서드를 사용합니다 )
==에서 개체를 비교하는 데 사용해서는 안됩니다 if. 들어 NSString사용 isEqualToString:을 비교합니다.
int val1 = [textBox1.text integerValue];
int val2 = [textBox2.text integerValue];
int resultValue = val1 * val2;
textBox3.text = [NSString stringWithFormat: @"%d", resultValue];
간단히 변환 int에 NSString사용 :
int x=10;
NSString *strX=[NSString stringWithFormat:@"%d",x];
반응형
'Program Club' 카테고리의 다른 글
| ImageMagick 및 OS X Lion 문제 (0) | 2020.10.27 |
|---|---|
| iOS-메인 스레드에서 실행 확인 (0) | 2020.10.27 |
| 선택을 통한 Onchange 오픈 URL-jQuery (0) | 2020.10.27 |
| 무작위로 테스트를 다시 시작하는 phpunit (0) | 2020.10.27 |
| Scala 2.10 매크로 문서화 (0) | 2020.10.27 |