我想知道如何将具有物理单位的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