在C++中,
const double Pi = 3.14159265;
cout << sin(Pi); // displays: 3.58979e-009
Run Code Online (Sandbox Code Playgroud)
它应该显示数字零
我明白这是因为Pi是近似的,但是有没有什么方法可以让Pi硬编码到我的程序中,为sin(Pi)返回0?(可能是一个不同的常数?)
如果你想知道我想要做什么:我将极性转换为矩形,虽然有一些printf()技巧我可以做到打印为"0.00",它仍然不会一直返回正常值(在某些情况下,我得到"-0.00")
需要sin和余弦的线是:
x = r*sin(theta);
y = r*cos(theta);
Run Code Online (Sandbox Code Playgroud)
BTW:我的矩形 - > Polar工作得很好......它只是Polar - > Rectangular
谢谢!
编辑: 我正在寻找一个解决方法,以便我可以打印罪(Pi的一些倍数)作为一个很好的圆数到控制台(理想情况下没有一千个if语句)