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];
}
我知道我甚至没有接近正确但我希望你能够了解我正在寻找的东西。
谢谢!
答案 0 :(得分: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];
}
注意:我将输出格式%2.f
替换为%.2f
,因为我猜你可能需要这种格式。 E.g:
Input > 1in
Output< 1.05
Input > 2in
Output< 4.14
Input > 3in
Output< 9.21