IBAction浮点数,根据输入具有相同的不同数字(IBAction float, have a equal different numbers depending on input)
对于objective-c的新手,我无法在任何地方找到这个问题的答案。 我正在运行IBAction进行计算,但我需要标签中的输入实际上等于等式中的其他内容。
例如:
-(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]; }我知道我甚至没有接近正确但我希望你能得到我正在寻找的想法。
谢谢!
New to objective-c and I just can't find the answer to this question anywhere. I'm running a IBAction for a calculation but I need the input from a label to actually equal something else in the equation.
For example:
-(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]; }I know I'm not even close to getting it right but I hope you get the idea as to what I'm looking for.
Thank you!
最满意答案
- (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]; }注意:我将输出格式%2.f为%.2f ,因为我猜你可能需要这种格式。 例如:
Input > 1in Output< 1.05 Input > 2in Output< 4.14 Input > 3in Output< 9.21 - (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]; }Note: I replaced the output format %2.f to %.2f, cause I guess you may need this format. E.g:
Input > 1in Output< 1.05 Input > 2in Output< 4.14 Input > 3in Output< 9.21更多推荐
IBAction,I'm,电脑培训,计算机培训,IT培训"/> <meta name="description
发布评论