设置全局输出精度python
问题内容:
我已经编写了一个函数库,以简化我的工程作业,并在python解释器(有点像计算器)中使用它们。一些返回矩阵,一些返回浮点数。
问题是,它们返回太多的小数。例如,当前,当一个数字为0时,我得到一个非常小的数字作为返回值(例如6.123233995736766e-17)
我知道如何分别格式化输出,但这需要为我在解释器中键入的每一行添加一个格式化程序。我正在使用python 2.6。
有没有办法设置会话的全局输出格式(精度等)?
*注意:对于scipy功能,我知道我可以使用
scipy.set_printoptions(precision = 4, suppress = True)
但这似乎不适用于不使用scipy的功能。
问题答案:
您会看到一个事实,即十进制浮点数只能由二进制浮点 近似
。请参阅浮点算法:问题和局限性。
您可以在模块库中放置模块级别的变量,并将其用作round()
舍入模块中函数返回值的第二个参数,但这很麻烦。
如果您使用ipython(我建议将其用于交互式使用,比常规解释器 要
好得多),则可以使用’magic’函数%precision
。