有没有办法在不使用流的情况下执行此操作?例如,像这样:
double a = 6.352356663353535; double b = a.precision(5);
代替:
double a = 6.352356663353535; std::cout.precision(5); std::cout << a << std::endl;
我是C的新手,我很好奇.提前致谢.
解决方法
双精度几乎普遍实现为
IEEE floating point numbers.它们的精度仅取决于数字大小(在double的情况下,这是“
double-precision floating point number”的缩写,它是53位).无法手动设置浮点数的精度.
显示精度始终是输出格式的属性,而不是数字的属性.不要试图通过舍入来改变数字,操作毫无意义.除显示之外,您不需要降低数字的精度.