相关疑难解决方法(0)

我怎样才能解决在C++中sin(M_PI)不为0的事实?

在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语句)

c++ trigonometry cmath

14
推荐指数
2
解决办法
8476
查看次数

标签 统计

c++ ×1

cmath ×1

trigonometry ×1