将这个带逗号的数字字符串转换为在 python 中浮动的更好方法?

Better methods to convert this numeric string with commas to float in python?

我正在使用 python v3。我有这个字符串 1,027.86。我想将它转换为 float 1027.86.

我在谷歌搜索时找到了解决方案。

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() 中,可以直接 return 结果而不需要稍后乘以 1000?

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

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