Objective C 2.0中的小数字

Lad*_*lav 1 objective-c ios

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

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

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

Vla*_*mir 5

1/98556321
Run Code Online (Sandbox Code Playgroud)

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

1/(double)98556321
Run Code Online (Sandbox Code Playgroud)