将这个带逗号的数字字符串转换为在 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
我正在使用 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