sin(pi())在DDMathParser中不返回0

时间:2015-01-30 04:42:21

标签: objective-c ddmathparser

我正在使用DDMathParser制作计算器应用。我面临的问题是sin(pi())没有返回0,但是像1.2246 ...... e-16那样是一个微不足道的数字。我只是想知道有没有办法将它转换为0? 谢谢。

1 个答案:

答案 0 :(得分:1)

-description上的NSNumber方法无法准确表示基础数字:

NSLog(@"%f", sin(M_PI));    // logs 0.000000
NSLog(@"%@", @(sin(M_PI))); // logs 1.224646799147353e-16

要解决此问题,您可以提取-doubleValue的{​​{1}},这应该会给您NSNumber

0