0
例如,我有價值a
。如何獲取Sympy物理量的浮點值?
import sympy.physics.units as u
a = 133.05*u.kg/u.m
我想這種物理量轉換爲浮點值,我知道的唯一途徑是float(a/(u.kg/u.m))
。
例如,我有價值a
。如何獲取Sympy物理量的浮點值?
import sympy.physics.units as u
a = 133.05*u.kg/u.m
我想這種物理量轉換爲浮點值,我知道的唯一途徑是float(a/(u.kg/u.m))
。
您可以使用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])))
那麼,如果你想得到沒有它的單位的值,你可以拆分字符串。這是我能想到的直接方式。
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
你說得對!奇怪的想法發生在這裏......例如,我首先回答了這個問題,而我的回答是正確的並且有效。其實,是一樣的。我很感激評論,解釋爲什麼這更好:) – manelfp
那麼,這些方法差異很大:轉換爲字符串,並執行字符串操作或使用sympy的內置finuityality。所以OP決定他最喜歡哪種方式,並可能更好地滿足他的需求。他可能正在處理大量的變量,並發現這種方法更快。或者他喜歡不用另一個字符串操作就能輕鬆獲得單元的額外好處。 – Hannebambel
幹得好!謝謝! – manelfp