我可以使printf格式像C流一样浮动

前端之家收集整理的这篇文章主要介绍了我可以使printf格式像C流一样浮动前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在比较两个程序的输出,一个C,另一个C,使用diff,因此输出必须相同.

是否有任何方法可以打印一个double,以便将其格式化为使用<< mydouble. 我目前正在使用printf(“%g”,mydouble) 以下是一些差异的例子:

c: 3.24769e-05 c++: 3.2477e-05
c: 0.0026572   c++: 0.00265721

有趣的是,科学记数法在c中有更多的数字,十进制表示法在c中有更多.

解决方法

您可以使用C中的格式说明符来解决此问题.

例如,假设你想打印小数点后只有3个位置,你可以像这样打印你的printf:

printf("%.3lf",dub);

值为double dub = .0137;输出为0.014

如果您想要更精确的打印,可以解决第二种情况的问题:

printf("%.8lf",dub);

你的双dub输出= 0.00265721;那么将是0.00265721

%g的情况以相同的方式工作,除了左边的数字包含在计算中.如果您想要C版本(我假设的精度较低),那么您的代码将如下所示:

double dub = .0000324769;
printf("%.5g",dub);

其中产量为3.2477e-05

原文链接:https://www.f2er.com/c/118962.html

猜你在找的C&C++相关文章