基本上是标题。在pint
中,有没有办法定义每个维度或每个单元的默认字符串格式,而不是“全面”?
更准确地说:我想根据其物理单位格式化一个数量的数值(即大小)。
这是我尝试过的,基于文档中显示的代码:
from pint import UnitRegistry, Unit
ureg = UnitRegistry()
# Specific format for km won't stick...
ureg.default_format = ".0f~"
ureg.km.default_format = ".2fP"
ureg.km.default_format # '.0f~'
# ...as also seen here:
dist = 3 * ureg("km")
time = 500 * ureg("s")
print(f"{dist}, {time}")
# wanted: 3.00 kilometer, 500 s
# got: 3 km, 500 s
尤其是在处理价格时,可以设置 2 位默认值,而所有其他单位具有不同的默认格式。
PS:我知道可以为单个数量(例如dist.default_format = '.2f~'
)设置默认格式,但这对我的用例来说太具体了。我希望以 'km' 为单位的所有数量都以 2 位小数显示。