浮点数和整数的简单问题

时间:2011-02-18 12:14:36

标签: iphone objective-c math

最好用两行代码问一个简单的问题:

CGFloat answer = (abs(-27.460757f) - 9.0f) * (800.0f / (46.0f - 9.0f));
    NSLog(@"According to my calculator, answer should be 399.15, but instead it is: %f", answer);

当我在Xcode(特别是iPhone模拟器)中运行时,我得到:

  

根据我的计算器,回答   应该是399.15,但它是:   389.189209

这是因为我对浮标的四舍五入缺乏了解吗?

谢谢!

斯图尔特

1 个答案:

答案 0 :(得分:5)

abs()函数对整数进行操作,因此abs(-27.460757f)返回27.由于您使用的是浮点数,请改用fabsf()