在 C++ 中,
const double Pi = 3.14159265;
cout << sin(Pi); // displays: 3.58979e-009
它应该显示数字零
我知道这是因为 Pi 是近似的,但是有什么方法可以将 Pi 的值硬编码到我的程序中,为 sin(Pi) 返回 0?(也许是一个不同的常数?)
如果您想知道我要做什么:我正在将极坐标转换为矩形,虽然我可以使用一些 printf() 技巧将其打印为“0.00”,但它仍然不能始终如一地返回体面值(在某些情况下我得到“-0.00”)
需要正弦和余弦的行是:
x = r*sin(theta);
y = r*cos(theta);
顺便说一句:我的 Rectangular -> Polar 工作正常......它只是 Polar -> Rectangular
谢谢!
编辑: 我正在寻找一种解决方法,以便我可以将 sin(Pi 的倍数)作为一个不错的整数打印到控制台(理想情况下没有一千个 if 语句)