我写了这个测试代码:
NSLog(@"%g", tan(M_PI / 2.0));
Run Code Online (Sandbox Code Playgroud)
并且控制台的输出是:
1.63312e+16
Run Code Online (Sandbox Code Playgroud)
问题是近似的,对吧?我是否犯了一些错误或者math.h的tan函数真的不能处理这个案例本身(给我INFINITY回复)?我自己应该处理这些输入案例(例如:当我得到pi/2输入值时我会返回错误信息)还是有更好(更优雅)的方法来获得正确的值?
谢谢