pint 有效数字,精度

pint significant figures, precision

我正在寻找一种方法来告诉 pint 要打印多少有效数字。例如,当我输入:

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

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

gphilo 在下面的回答中指出了一个选项,我可以在 pint 中设置 ureg.default_format 字段,但是在尝试打印数组时这不起作用。参见 here for the error.

假设您想要 3 位有效数字:

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

pint支持PEP 3101 string formatting syntax

根据the version's 0.8.1 documentation,您还可以通过以下方式设置默认格式:

ureg.default_format = '.3f'
print(3*ureg.m /9)

看看:

https://pyformat.info/

""" Python 多年来一直拥有出色的字符串格式化程序,但有关它们的文档过于理论化和技术化。通过此站点,我们尝试通过实际示例向您展示新旧样式字符串格式涵盖的最常见用例 API。

此页面上的所有示例开箱即用 Python 2.7、3.2、3.3、3.4 和 3.5,无需任何额外的库。

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