[英]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.