POW功能和xcode

时间:2011-07-22 04:44:16

标签: iphone xcode

进行特定的计算,上次得到了一些很好的帮助!现在出错:

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;
}

2 个答案:

答案 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;