我需要帮助,因为我有一个C ++程序。它会计算一些正确的小数字。我需要用这种格式_._ _ D _ _
但我只知道用这种格式表达_._ _ e _ _
这是一个例子:
fprintf(arxiu,"%1.2f \t %u \t %1.16f \t %1.16f \t %1.2e\n",x,k,resultat,Bessel,error);
5.55e-17
这就是我想要的:
2.22D-16
这是用C ++实现的还是我需要一个比较错误的函数并将其显示为十指数?
感谢。
答案 0 :(得分:0)
如果我理解正确,你需要的只是格式化,那么:
char bf[30];
sprintf(bf, "%1.2f", value);
char *p = strchr(bf, 'e');
if (p) *p = 'D';
fprintf(arxiu, "%s", bf);
它是C而不是C ++,但由于您自己使用fprintf,我认为您可能会发现它很有用。您可能希望将此代码放在一个小函子中以获得可重用性。