如何在 Sympy 中转换单位前缀



我想知道如何将具有物理单位的sympy值转换为具有另一个前缀的同一单位。例如:

>>> import sympy.physics.units as u
>>> x = 0.001 * u.kilogram
0.001kg

应转换为克。到目前为止,我采取的方法非常臃肿,并且提供了错误的结果。

>>> x / u.kilogram * u.gram
1.0^-6kg

它应该1g

如果你可以接受打印1而不是1g,你可以只使用除法:

>>> x / u.g
1.0

否则,您最好切换到sympy.physics.unitsystems.

>>> from sympy.physics.unitsystems import Quantity
>>> from sympy.physics.unitsystems.systems import mks
>>> Quantity(0.001, mks['kg'])
0.001kg
>>> _.convert_to(mks['g'])
1g
>>> u.convert_to(x, u.gram)
1.0*gram

最新更新