gpt4 book ai didi

c++ - 在 C++ 中,它是从小数点开始还是从整个 #setprecision 开始

转载 作者:行者123 更新时间:2023-11-28 06:41:29 26 4
gpt4 key购买 nike

在下面的示例中,输出为 3.1,因此它从第一个值开始。

double y = 3.14784;
cout << setprecision(2) << y;

在以下示例中,输出精度从十进制值开始

int x = 2;
double y = 3.0;
cout << setprecision(2) << x/y;

但在下面的代码行中 - 与上面声明的相同的 x 和 y,我们得到的精度开始时根本没有显示。 (下面打印 6.00 的唯一方法是我们使用 fixed)。

cout << setprecision(2) << x * y; // shows 6. 

如果我们不使用 fixed - 只是一个 setprecision(n) 那 n 从哪里开始?因为它声明其设置精度用于小数精度。然而在第一个示例中,它查看整个 double 值而不仅仅是小数。

请指教。谢谢。

最佳答案

来自 http://www.cplusplus.com/reference/ios/ios_base/precision/

For the default locale:

  • Using the default floating-point notation, the precision field specifies the maximum number of meaningful digits to display in total counting both those before and those after the decimal point. Notice that it is not a minimum, and therefore it does not pad the displayed number with trailing zeros if the number can be displayed with less digits than the precision.
  • In both the fixed and scientific notations, the precision field specifies exactly how many digits to display after the decimal point, even if this includes trailing decimal zeros. The digits before the decimal point are not relevant for the precision in this case.

关于c++ - 在 C++ 中,它是从小数点开始还是从整个 #setprecision 开始,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25879134/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com