进行特定的计算,上次得到了一些很好的帮助!现在出错:
Too few arguments to function call, expected 2, have 1
但有两个论点! twodouble 和 onedouble 的划分将导致一个数字,另一个(1.0 / 3),这是第二个参数。想法? (代码如下)。
-(IBAction)calculate:(id)sender{
NSString *oneField = self.one.text;
NSString *twoField = self.two.text;
double resultInNum;
double onedouble = [oneField doubleValue];
double twodouble = [twoField doubleValue];
resultInNum = pow((twodouble/onedouble),(1.0/3))*.999)*5.005;
NSString *finalValue = [[NSString alloc] initWithFormat:@"%.3f", resultInNum];
self.result.text = finalValue;
}
答案 0 :(得分:2)
resultInNum = pow((twodouble/onedouble),(1.0/3))*.999)*5.005;
应该是:
resultInNum = pow(twodouble/onedouble, 1.0/3)*0.999*5.005;
只是让你知道:pow是一个C函数,不使用像Obj-C方法这样的消息系统。我的直觉告诉我你可能会这样想。
答案 1 :(得分:0)
你的括号太多了。仔细看。你只将一个参数传递给pow函数。
resultInNum = ((pow(twodouble/onedouble),(1.0/3));
应该是
resultInNum = pow((twodouble/onedouble),(1.0/3));
编辑:在我发布回答后,您似乎更新了代码。你还在弄乱括号。
pow((twodouble/onedouble),(1.0/3))*.999)*5.005;
应该是:
pow((twodouble/onedouble),(1.0/3))*.999*5.005;