计算有问题

时间:2012-01-04 05:55:35

标签: objective-c xcode4.2

我正在尝试做一个球体的体积但是当我运行我的程序时,它给了我错误的答案。这是我的代码:

-(IBAction)calculate 
{
   double radiusNum = [radius.text doubleValue];
   double ansNum = 4/3 * 3.14159 * (radiusNum * radiusNum * radiusNum);

   NSString *ans = [NSString stringWithFormat:@"%1.4f Units^3", ansNum];
   answer.text = ans;
}
你可以告诉我如何解决这个问题以及我做错了什么。 p.s我正在使用Xcode 4并提前感谢您

3 个答案:

答案 0 :(得分:2)

4/3将是一个整数运算。

答案 1 :(得分:0)

实际上这是合乎逻辑的错误。 方法应如下:

-(IBAction)calculate 
{ 
  double radiusNum = [radius.text doubleValue]; 
  double ansNum = (4 * 3.14159 * (radiusNum * radiusNum * radiusNum))/3;

  NSString *ans = [NSString stringWithFormat:@"%1.4f Units^3", ansNum]; 
  answer.text = ans; 
} 

计算的顺序是错误的。

答案 2 :(得分:0)

double radiusNum = [radius.text doubleValue];
 double ansNum = (pow(radiusNum, 3)*4/3)*3.1415927;

 NSString *ans = [NSString stringWithFormat:@"%1.4f Units^3", ansNum];
    NSLog(ans);