C++计算中的格式错误

Format Error in a calculation in C++

本文关键字:格式 错误 计算 C++      更新时间:2023-10-16

我需要帮助,因为我有一个C++的程序。它计算出一些小数正确的数字。我需要用这种格式显示它_._ _ D _ _

但我只知道用这种格式表达_._ _ e _ _

这是一个例子:

fprintf(arxiu,"%1.2f t %u t %1.16f t %1.16f t %1.2en",x,k,resultat,Bessel,error);
5.55e-17

这就是我想要的:

2.22D-16

这是在C++中实现的,还是我需要一个函数来比较误差并将其显示为十指数?

谢谢。

如果我理解正确并且您所需要的只是格式化,那么这个怎么样:

char bf[30];
sprintf(bf, "%1.2f", value);
char *p = strchr(bf, 'e');
if (p) *p = 'D';
fprintf(arxiu, "%s", bf);

它是 C 而不是 C++,但由于您自己正在使用 fprintf,我认为您可能会发现它很有用。您可能希望将此代码放在一个小函子中以实现可重用性。