我可以制作像C ++流一样的printf格式文件吗?

我正在比较两个程序的输出,一个是C ++,另一个是C ++,使用diff ,所以输出必须相同。

有没有什么办法printf ,这样,就好像它是用它打印的格式双<< 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;double dub = .0137; 输出将是0.014

这可以解决你的第二种情况,如果你想要打印更多的精确度,你可以写:

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

您的double dub = 0.00265721;输出double dub = 0.00265721; 然后是0.00265721

除非计算中包含左侧的数字,否则%g的情况的工作方式相同。 如果你想要C ++版本(我认为更低的精度),那么你的代码看起来像这样:

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

这得出3.2477e-05

链接地址: http://www.djcxy.com/p/18569.html

上一篇: Can I make printf format floats like C++ streams

下一篇: How can we change android application icon dynamically in Android