2017-07-31 30 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