2012-01-14 3 views
1

objective-C에 처음 나왔습니다. 어디서나이 질문에 대한 답을 찾을 수 없습니다. 계산을 위해 IBAction을 실행 중이지만 실제로 방정식에서 다른 것과 동등한 레이블의 입력이 필요합니다. 예를 들어IBAction float, 입력에 따라 같은 수의 숫자가 있음

:

-(IBAction)calculate; { 
    float a = 1.05 if ([label1.text] == 1in); 
     a = 2.07 if ([label1.text] == 2in); 
     a = 3.07 if ([label1.text] == 3in); 
    float b = a*([textField1.text floatValue]); 
     label2.text = [[NSString alloc] initWithFormat:@"%2.f", b]; 
    } 

나는 그것을 잘 얻기에 근처에도 아니에요 알고하지만 난 당신이 내가 무엇을 찾고에 관한 아이디어를 얻을 바랍니다.

감사합니다.

+1

나는 무엇을 하려는지 이해하지 못하고 코드 샘플이 의미가 없으며 올바른 구문이 아닙니다. 다시 설명하려고 할 수 있습니까? – jrturton

답변

0
- (void)calculate { 
    float a; 
    if ([self.inputField.text isEqualToString:@"1in"])  a = 1.05f; 
    else if ([self.inputField.text isEqualToString:@"2in"]) a = 2.07f; 
    else if ([self.inputField.text isEqualToString:@"3in"]) a = 3.07f; 
    else a = 0.0f; 

    if (a) { 
    float b = a * ([self.inputField.text floatValue]); 
    self.inputField.text = [[NSString alloc] initWithFormat:@"%.2f", b]; 
    } 
    else self.inputField.text = @"Invalid"; 
} 

- (void)viewDidLoad 
{ 
    //... 

    self.inputField = [[UITextField alloc] initWithFrame:CGRectMake(10.0f, 20.0f, 300.0f, 30.0f)]; 
    [self.inputField setBackgroundColor:[UIColor grayColor]]; 
    [self.view addSubview:self.inputField]; 

    UIButton * doneButton = [[UIButton alloc] initWithFrame:CGRectMake(10.0f, 55.0f, 300.0f, 30.0f)]; 
    [doneButton setBackgroundColor:[UIColor blackColor]]; 
    [doneButton setTitle:@"Done" forState:UIControlStateNormal]; 
    [doneButton addTarget:self action:@selector(calculate) forControlEvents:UIControlEventTouchUpInside]; 
    [self.view addSubview:doneButton]; 
    [doneButton release]; 
} 

참고 : 나는 당신이이 형식을해야 할 수도 있습니다 추측 원인 나는 %.2f에 출력 형식을 %2.f를 교체했다. 예 :

Input > 1in 
Output< 1.05 

Input > 2in 
Output< 4.14 

Input > 3in 
Output< 9.21 
+0

감사합니다. Kjuly! 완벽하게 작동합니다! – user1148954

+0

@ user1148954 당신은 환영합니다 :) – Kjuly