2011-07-06 3 views
0

NSString을 xcode 3.2에서 double로 올바르게 변환하려면 어떻게해야합니까? 이것은 내 코드 (축약 형)이지만 실행하면 메시지에 (null)이라고 표시됩니다. 내가 도대체 ​​뭘 잘못하고있는 겁니까? 정말 고마워!더블 트러블 슈팅을위한 문자열

@synthesize class1sem1; 

-(IBAction)buttonPressed 
{ 
NSString *myString = class1sem1.text; 
double myDouble = [myString doubleValue]; 


NSString *message = [[NSString alloc] initWithFormat: 
        @"%@", myDouble]; 

UIAlertView *alert =[[UIAlertView alloc] initWithTitle:@"Result" message:message delegate:nil cancelButtonTitle:@"Great!" otherButtonTitles:nil]; 
[alert show]; 
[alert release]; 
[message release]; 

}

답변

1

사용 %의 g ..하지 %

NSString *message = [[NSString alloc] initWithFormat: 
       @"%g", myDouble]; 
+0

감사 @! 그런 간단한 해결책! –

1

당신은 객체 인 것처럼 이중를 표시하려고합니다. 대신를 사용

NSString *message = [[NSString alloc] initWithFormat: 
         @"%f", myDouble]; 
        //^note 'f' instead of '@' 

f는 "배정 밀도 부동 소수점 숫자"를 의미, @는 "목표 - C 객체"를 의미있다. double은 Objective-C 오브젝트가 아닌 배정 밀도 부동 소수점 숫자입니다. 당신의 두 배에