2017-09-16 54 views
0

我正在使用python v3。我有这个字符串1,027.86。我想将它转换为float 1027.86更好的方法来转换这个数字字符串与逗号在Python中浮动?

我在Google上找到了一个解决方案。

import locale 
locale.setlocale(locale.LC_NUMERIC, "nl") 
price = '1,027.86' 
price = locale.atof(price)*1000 

我搜索了关于locale.setlocale(locale.LC_NUMERIC, "nl")意味着什么,但无法找到答案的文档。 http://dc.dyu.edu.tw/python/350/library/locale.html

setlocal()放在里面会有更好的说法,它会直接返回结果,而不需要再乘以1000吗?

+0

你有关专门询问'SETLOCAL()'参数RO你只是想将字符串转换为浮动? – wwii

回答

1

setlocale()指定nl表示它默认为荷兰的格式。如果您使用类似uk的东西,它应该正确转换,因为数字格式的格式为xxx,xxx,xxx.xxx

import locale 

locale.setlocale(locale.LC_NUMERIC, "uk") 
price = '1,027.86' 
print(locale.atof(price)) 

这将显示:

1027.86 
1

您可以使用简单的字符串替换将其转换为可正确解析的浮点数price = float('1,027.86'.replace(',',''))

相关问题