我需要计算4.0468564224e-33
值。但不幸的是,我得到0.0000000
的结果。我认为问题是e
值。
如何计算这些数学计算?是否有必要导入数学课程?
答案 0 :(得分:2)
4.0468564224e-33
是4.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帖子