3

我正在寻找一种方法来告诉品脱要打印多少有效数字。例如,当我输入以下内容时:

import pint
ureg = pint.UnitRegistry()
print(3*ureg.m /9)
0.3333333333333333 meter

您可以看到打印的表示具有许多有效数字。有没有办法设置 sig 位数之类的 numpy.set_print_options() ... ?还是我必须手动覆盖数量打印功能?

在下面 gphilo 的回答中指出了一个选项,我可以将 ureg.default_format 字段设置为品脱,但是在尝试打印数组时这不起作用。有关错误,请参见此处。

4

2 回答 2

3

假设你想要 3 个有意义的数字:

print('{:.3f}'.format(3*ureg.m /9))

pint支持PEP 3101 字符串格式化语法

根据版本的 0.8.1 文档,您还可以通过以下方式设置默认格式:

ureg.default_format = '.3f'
print(3*ureg.m /9)
于 2017-09-22T14:38:31.427 回答
1

看一下:

https://pyformat.info/

""" Python 多年来一直拥有非常棒的字符串格式化程序,但是关于它们的文档过于理论和技术性。在这个站点上,我们试图向您展示新旧风格的字符串格式化 API 所涵盖的最常见用例,并具有实用性例子。

此页面上的所有示例都可以使用 Python 2.7、3.2、3.3、3.4 和 3.5 开箱即用,无需任何其他库。

关于这两种格式化方法的更多细节可以在官方 Python 文档中找到:“””

于 2017-09-22T15:00:45.390 回答