如何计算数学双值

时间:2011-04-20 07:07:10

标签: iphone objective-c

我需要计算4.0468564224e-33值。但不幸的是,我得到0.0000000的结果。我认为问题是e值。

如何计算这些数学计算?是否有必要导入数学课程?

4 个答案:

答案 0 :(得分:2)

4.0468564224e-334.0468564224 * 10⁻³³,即0.0000000000000000000000000000000040468564224 - 非常接近于零。

如果您的输出函数四舍五入到7位小数,即使输入正确,您也会得到0.0000000

答案 1 :(得分:2)

Anders Lindahl解释why你看到零,但没有提出任何解决方案。

一种解决方案是使用%.43f而不是%f%.7f)来请求输出更多小数。

另一种解决方案是使用%e%.10e)代替%f来请求取幂符号。

答案 2 :(得分:0)

可能你正在使用像

这样的东西
NSLog("%d", yourValue);

,你应该使用:

NSLog("%f", yourValue);

因为你的值是浮点而不是整数。

%d => int
%f => float

答案 3 :(得分:0)

尝试使用NSNumber进行大型double计算。 阅读Apple Doc for NSNumber

参见NSNumber的SO帖子

NSNumber Calculations & precision?