我正在使用DDMathParser制作计算器应用。我面临的问题是sin(pi())
没有返回0,但是像1.2246 ...... e-16那样是一个微不足道的数字。我只是想知道有没有办法将它转换为0?
谢谢。
答案 0 :(得分:1)
-description
上的NSNumber
方法无法准确表示基础数字:
NSLog(@"%f", sin(M_PI)); // logs 0.000000
NSLog(@"%@", @(sin(M_PI))); // logs 1.224646799147353e-16
要解决此问题,您可以提取-doubleValue
的{{1}},这应该会给您NSNumber
:
0