如何在C++中保持double变量的精度?

Aqu*_*irl -3 c++ floating-point

它不是关于印刷.它是关于存储价值.

int x = 1234;
double y = 0.3456;

double z = x + y;

目前z包含1234.35.我想要z包含1234.3456

可以做些什么来实现这一目标?

rus*_*tyx 5

它确实包含1234.3456.检查自己:

#include <cstdio>

int main()
{
    int x = 1234;
    double y = 0.3456;
    double z = x + y;

    printf("%.8f\n", z);
}
Run Code Online (Sandbox Code Playgroud)

输出:

1234.34560000
Run Code Online (Sandbox Code Playgroud)