C.圆形双

时间:2015-11-25 15:25:59

标签: c++ double

如何删除圆形到第二个符号双?我在C ++中只找到了选项:

cout<<fixed<<setprecision(2)<<x[i]<<endl;

但是在这种情况下,它并不清楚如何在C中做到:

printf("%.7hi"x[i]);
printf("    ");

即,不转换到下一行,只有7个符号。

1 个答案:

答案 0 :(得分:0)

在C ++中,输出流的precision属性的效果取决于floatfield格式标志的流设置。您的C ++示例将该标志设置为fixed,这似乎与%f中的printf()字段描述符相对应。我说&#34;似乎&#34;因为我无法找到任何需要完全对应的文档,但我预计在实践中它们确实完全对应。

在C printf()格式中,precision是每个输出字段的属性。它在小数点和转换说明符(此处为f)之间的字段描述符中表示,可能之间有一个长度修饰符。假设xdoublefloat的数组,那么C ++语句的C模拟就是

printf("%.2f\n", x[i]);

fprintf(stdout, "%.2f\n", x[i]);

(这些是等效的)。这些与C ++不同,因为浮点格式和精度不会保留为stdout的持久属性。