sin(pi()) 在 DDMathParser 中不 return 0
sin(pi()) does not return 0 in DDMathParser
我正在使用 DDMathParser 制作一个计算器应用程序。我面临的问题是 sin(pi())
不是 return 0,而是像 1.2246...e-16 这样的微不足道的数字。我只是想知道有什么办法可以将它转换为 0?
谢谢。
NSNumber
上的 -description
方法不能准确表示基础数字:
NSLog(@"%f", sin(M_PI)); // logs 0.000000
NSLog(@"%@", @(sin(M_PI))); // logs 1.224646799147353e-16
要解决此问题,您可以拉出 NSNumber
的 -doubleValue
,这应该会给您 0
:
NSLog(@"%f", @(sin(M_PI)).doubleValue); // logs 0.000000
我正在使用 DDMathParser 制作一个计算器应用程序。我面临的问题是 sin(pi())
不是 return 0,而是像 1.2246...e-16 这样的微不足道的数字。我只是想知道有什么办法可以将它转换为 0?
谢谢。
NSNumber
上的 -description
方法不能准确表示基础数字:
NSLog(@"%f", sin(M_PI)); // logs 0.000000
NSLog(@"%@", @(sin(M_PI))); // logs 1.224646799147353e-16
要解决此问题,您可以拉出 NSNumber
的 -doubleValue
,这应该会给您 0
:
NSLog(@"%f", @(sin(M_PI)).doubleValue); // logs 0.000000