Python 将字符串real-basician转换为float
我有一个以字符串(“45.000,00”)表示汽车价格的列表,我想将该值转换为python中的浮点值 看起来是这样的:45000.00的字符串 我希望它是这样的:45.000.00浮点在运行Python 将字符串real-basician转换为float,python,python-2.7,Python,Python 2.7,我有一个以字符串(“45.000,00”)表示汽车价格的列表,我想将该值转换为python中的浮点值 看起来是这样的:45000.00的字符串 我希望它是这样的:45.000.00浮点在运行浮点之前,只需删除“,”字符 浮动(“45000.00”。替换(“,”,“)) 编辑-误读。您要删除所有“.”,然后将“,”替换为“.” float("45.000,00".replace(".", "").replace(",", ".")) 然而,这是一个有点硬编码和讨厌的问题-更好的解决方案是使用一些
浮点
之前,只需删除“,”字符
浮动(“45000.00”。替换(“,”,“))
编辑-误读。您要删除所有“.”,然后将“,”替换为“.”
float("45.000,00".replace(".", "").replace(",", "."))
然而,这是一个有点硬编码和讨厌的问题-更好的解决方案是使用一些区域设置库进行值处理。这是不正确的。您使用
作为十进制分隔符,OP使用,
,因为它是BRL货币格式。这不是重复的,字符串格式与已回答的问题不同。您可以这样做:您需要分隔小数部分,删除
,然后转换为浮点。例如:value,decimal='45.000,00'。将(',')拆分为_float=float(value.replace('.','')+float('0'.+decimal)@ihhcarus读取第二个答案,该答案显示了如何正确使用区域设置:。此外,OP还显示了三种不同的格式(其中一种几乎没有意义),用于表示假定相同的数字,因此不完全清楚输入和输出应该是什么。另见,例如;串绞可能不是解决这个问题的最佳方法。@jonrsharpe我明白了,我想直接找到正确的答案,跳过了。这肯定会有帮助。@ihhcarus接受!=正确
!