打印浮点数,如整数

MPFR C++ Print floating point numbers like integers

本文关键字:整数 浮点数 打印      更新时间:2023-10-16

刚刚成功地使用MPFR c++编译了一个程序(第一次),我需要打印出一些相当大的数字,但它们只是作为工程符号而不是整数出现。据我所知,库没有针对(任意)整数进行优化,所以使用浮点数作为整数是可以的,因为它们不会有任何小数。我只是c++的初学者,所以我不知道如何使用所有可用的工具,但是是否有一种方法可以将(大)浮点数打印出来,就像它们是整数一样?例如,打印112275575285571389562324404930670903477890625而不是(比如说)1.12276e+44。如果我尝试std::cout.precision(44),我得到1.12275575285571389562324404930670903477890625e+44,这看起来并不好。

MPFR c++允许按照printf风格精确调整输出格式(如果标准c++功能不够的话)。例子:

std::cout<<x.toString("%34.0RNf")

请参考MPFR手册中括号内的格式规范。你也可以检查这个问题:https://stackoverflow.com/a/9627660/479995