品脱有效数字,精确度

时间:2017-09-22 14:32:15

标签: python pint

我正在寻找一种方法来告诉品脱要打印多少重要数据。例如,当我输入时:

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

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

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

2 个答案:

答案 0 :(得分:2)

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

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

pint支持PEP 3101 string formatting syntax

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

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

答案 1 :(得分:1)

看看:

https://pyformat.info/

“””  Python已经拥有很多年的令人敬畏的字符串格式化程序,但是关于它们的文档太过于理论和技术。通过这个网站,我们尝试用实际例子向您展示新旧字符串格式化API所涵盖的最常见的用例。

本页面上的所有示例均可与Python 2.7,3.2,3.3,3.4和3.5一起使用,无需任何其他库。

有关这两种格式化方法的更多详细信息,请参阅官方Python文档: “”“