use*_*213 2 c++ double constants
我正在用C++编写一个类,它需要一些可以在整个类中访问的常量.通常我会使用#define,一个常量或静态声明但是有一些奇怪的事情发生:所以我举例说
#define Rm 8.3144621
但 std::cout << Rm << std::endl;
打印8.31446.
我也试过了
#define Rm 831.44621e-2
Run Code Online (Sandbox Code Playgroud)
和 const double Rm = 8.3144621
和 static double Rm = 8.3144621
以及每种可能的方法来初始化或强制转换为双常数.
有没有解决方案或我必须使用字段?
如果需要输出所有数字的double,则需要设置正确的精度:
std::cout << std::fixed;
std::cout << std::setprecision(7) << Rm << std::endl;
Run Code Online (Sandbox Code Playgroud)
在这里观看现场演示:Double print Demo