2011-01-14 10 views
0

나는 Object-C 및 iOS 개발을 배우기위한 모험의 일환으로 간단한 계산기를 사용하고 있습니다.어떻게 '.' Object-C의 문자열 개체

NSString을 사용하는 Object-C에서 문자열의 마침표는 어떻게 표시됩니까?

의견에 따라 이것은 내가 지금까지 얻은 것입니다.

NSString * tmp = [display text]; 

NSLog(@"%@", tmp); // Shows the number on the display correctly 

int x = [tmp rangeOfString:@"."].location; 

NSLog(@"%i", x); // Shows some random signed number 

if (x < 0) { 
    [display setText:[[display text] stringByAppendingFormat:@"."]]; 
} 

여전히

답변

0

NSRange 직선 업 구조체이다 :(작동하지 않습니다 ...

typedef struct _NSRange { 
     NSUInteger location; 
     NSUInteger length; 
} NSRange; 

int x = [@"hello.there.ok" rangeOfString:@"."].location; 
printf("x is %d\n",x); 

인쇄 5. 여기

및 전체 프로그램입니다 :

int main(int argc, char *argv[]) 
{ 
    NSString *ht = @"This is a string"; 
    int r1 = [ht rangeOfString:@"is"].location; 
    int r2 = [ht rangeOfString:@"is a"].location; 
    int r3 = [ht rangeOfString:@"isnt"].location; 
    NSLog(@"r1=%d, r2=%d, r3=%d, that's all\n",r1,r2,r3); 
} 

다음을 인쇄합니다.

Program loaded. 
run 
[Switching to process 21098] 
Running… 
2011-01-14 20:45:25.192 DELETEME[21098:a0b] r1=2, r2=5, r3=-1, that's all 

XCode, Mac OS에서 실행 중입니다. 직선이어야합니다!

+0

// titleLabel 텍스트에서 문자열 가져 오기 NSString * digit = [[보낸 사람 제목 라벨] 텍스트]; int x = [digit rangeOfString : @ "."]. 위치; if (! x) { // 십진수가 아닌 경우 this } – nzaccardi

+0

오! 찾지 못하면 -1을 반환하고 0은 반환하지 않습니다. 그렇다면 (x <0)은 원하는 것입니다 ... –

+0

더 이상 도움을 줄 수 있는지 위의 편집을 참조하십시오. – nzaccardi

관련 문제