Objective C 2.0中的小数字

时间:2010-08-20 08:24:34

标签: ios objective-c

我创建了一个计算器类,它可以执行基本的+, - ,%,*和sin,cos,tan,sqrt和其他数学函数。

我有double类型的所有变量,一切都适用于大数字,所以我可以计算像1.35E122这样的数字,但问题是数字非常小。例如,如果我做计算1/98556321,我得到0,我想得到一些东西1.01464E-8。

我应该重写我的代码,以便我只操作NSDecimalNumber,如果是这样,我该如何处理只接受double和long double值的sin和cos数学函数。

2 个答案:

答案 0 :(得分:5)

1/98556321

这个除法给出0,因为这里执行整数除法 - 结果是除法的整数部分。以下行应该为您提供浮点结果:

1/(double)98556321

答案 1 :(得分:2)

integer/integer始终是一个整数

因此,您要么将上限或下限数字转换为十进制

(double)1/98556321

1/(double)98556321

明确地将数字转换为双倍。

快乐的编码......