有没有一种使用gmplib的方法来打印没有指数的mpf_t数字?我宁愿不必编写一个读取指数并手动移动小数的函数,因为这种方法似乎有点过头了。

最佳答案

我不熟悉gmplib,但是它支持fixed格式化操纵器吗?

在标准C++中:

#include <iostream>
#include <iomanip>

using namespace std;

int main()
{
   double d = 1.12345e6;

   cout << d << endl;
   cout << fixed << d << endl;
   return 0;
}

产生:
$ ./test
1.12345e+06
1123450.000000

您可以使用setprecision(n)精确度玩游戏,使用setw(n)精确度玩游戏来进一步调整结果。

08-16 12:00