2017-07-31 34 views

回答

0

您可以使用a.args来获取所需的信息。它返回一个元组,首先包含数值,然后返回单位。例如:

import sympy.physics.units as u 
a = 133.05*u.kg/u.m 
print(a.args[0]) 
print(type(float(a.args[0]))) 
+0

你说得对!奇怪的想法发生在这里......例如,我首先回答了这个问题,而我的回答是正确的并且有效。其实,是一样的。我很感激评论,解释为什么这更好:) – manelfp

+1

那么,这些方法差异很大:转换为字符串,并执行字符串操作或使用sympy的内置finuityality。所以OP决定他最喜欢哪种方式,并可能更好地满足他的需求。他可能正在处理大量的变量,并发现这种方法更快。或者他喜欢不用另一个字符串操作就能轻松获得单元的额外好处。 – Hannebambel

+0

干得好!谢谢! – manelfp

0

那么,如果你想得到没有它的单位的值,你可以拆分字符串。这是我能想到的直接方式。

In [1]: import sympy.physics.units as u 

     a = 133.05*(u.kg/u.m) 

     new_a = float(str(a).split('*')[0]) 

     print(new_a) 

Out[1]: 133.05