像谷歌一样将弧度转换为度数

Convert radians to degrees like Google

本文关键字:转换 一样 谷歌      更新时间:2023-10-16

我试图将弧度转换为度数,但我没有得到与谷歌相同的结果

计算器和Pi i定义的剂量输出所有数字。

如果你在谷歌搜索中键入:(1*180)/3.14159265,那么你会得到57.2957796但我的程序是

输出:57.2958如果你在谷歌搜索Pi,你会得到:3.14159265,但我的

dosent输出其余部分,它输出:3.14159

我的代码是:

#include <iostream>
#define SHOW(X) cout << # X " = " << (X) << endl
using namespace std;
double Pi_test = 3.14159265;
float radian_to_degree(double  ENTER) {
  double Pi = 3.14159265;
  float degrees = (ENTER * 180) / Pi;
  return degrees;
}
int main (int argc, char * const argv[]) {
    SHOW( radian_to_degree(1) ); // 57.2958 not 57.2957795 like google, why?
    SHOW( Pi_test ); // output 3.14159' not 3.14159265, why? 
    return 0;
}

请帮我解决这个问题,怎么了?有什么例子吗?

您需要更改默认精度:

cout.precision(15);
cout << d << endl;

如前所述,C++中的cout可能在显示数字之前对其进行了四舍五入

#define SHOW(X) cout << setprecision(some_number) << # X " = " << (X) << endl

更改radian_to_degree以操作double而不是float,因为double具有更高的精度。

使用std::setprecision 输出结果

#include <iomanip>
std::cout << std::setprecision(9) << result << "n";

即使更改了cout的精度,也要注意double只包含这么多数据;如果你希望你的程序能输出1000个小数位,那么double不会给你那么多。您必须创建自己的数据类型。

此外,除非迫不得已,否则不要定义宏函数。