atof 返回无法将字符串转换为浮点数:'2, 5'

Aik*_*ura 3 python

我试图理解atof方法,但是,下面的块失败,主题标题中出现错误:

 import locale
 s='2,5'
 x=locale.atof(s)
Run Code Online (Sandbox Code Playgroud)

我能做些什么?

daw*_*awg 5

实际上,您必须将区域设置设置到,数字分隔符所在的位置,而不仅仅是导入模块。该类别是LC_NUMERIC

\n
import locale\ns=\'2,5\'\nlocale.setlocale(locale.LC_NUMERIC, \'de_DE\')  # \'de_DE\' is just an example\nx=locale.atof(s)\n
Run Code Online (Sandbox Code Playgroud)\n

或者,如果您的操作系统环境设置为,数字分隔符所在的区域设置,您通常可以按照以下区域设置文档中的建议进行操作:

\n
import locale\nlocale.setlocale(locale.LC_ALL, \'\')\n
Run Code Online (Sandbox Code Playgroud)\n
\n

这会将所有类别的区域设置设置为用户\xe2\x80\x99s 默认设置\n(通常在 LANG 环境变量中指定)。

\n
\n