[英]Python: extract number from String
我是Python的新手,我試圖獲得一個“價格標簽字符串”以轉換成浮點數,因此我可以輕松地將結果與其他價格進行比較。 我搜索了2個小時來尋找這個“簡單問題”的答案,但是沒有一個符合我的需求。
基本上,我的價格是這樣的:
1.222.333,44 EUR
(逗號和句號交換,因為我住在德國,這也很煩人)
我希望得到這個以便於比較:
1222333.44
主要想法是比較價格,這是我的學校項目。
我曾經用PHP做過一切,但是效果太慢了。
如果您有更優雅或簡單的方式,請告訴我。
您可以使用您的(或任何) 語言環境將字符串轉換為float :
import locale
locale.setlocale(locale.LC_ALL, 'de_DE.UTF-8')
print(locale.atof('1.222.333,44')) # -> 1222333.44
根據您的默認語言環境,您甚至可能不必指定語言環境。
在您的情況下,您可能需要將貨幣(EUR)部分split
:
price = '1.222.333,44 EUR'
price_float = locale.atof(price.split()[0])
print(price_float) # -> 1222333.44
注意:將LC_ALL
設置為您需要的LC_NUMERIC
可能就足夠了。
如果你的字符串是“1.222.333,44 EUR”
prince = "1.222.333,44 EUR"
price = price[:-4]
price = price.replace(".","").replace(",",".")
floatprice = float(price)
如果它就像這樣“1.222.333,44”
floatprice = float("1.222.333,44".replace(".","").replace(",","."))
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.