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

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


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

下面的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)

10-08 09:17