GMP:如何将数字写成十进制值?
GMP: how to write a number as a decimal value?
我有一个 mpq_class
实例,我想将它显示为十进制值,而不是分数。
mpq_class nb = 1.75;
cout << nb << endl;
输出:
7/4
如何输出 1.75
而不是 7/4
?
最简单的方法可能是转换为 mpf_class
,例如cout << mpf_class(nb) << endl;
。不过,您可能需要显式设置输出精度以避免因浮点错误打印出垃圾。
我有一个 mpq_class
实例,我想将它显示为十进制值,而不是分数。
mpq_class nb = 1.75;
cout << nb << endl;
输出:
7/4
如何输出 1.75
而不是 7/4
?
最简单的方法可能是转换为 mpf_class
,例如cout << mpf_class(nb) << endl;
。不过,您可能需要显式设置输出精度以避免因浮点错误打印出垃圾。