我在这个语言环境中得到错误的小数点分隔符。 短代码示例:
import locale
print locale.getdefaultlocale()[0]
print "decimal_point:", locale.localeconv()["decimal_point"]
print (float(1)/float(2))
结果是:
de_DE
decimal_point: .
0.5
(小数点分隔符是点而不是逗号)。 Python 2.7
答案 0 :(得分:1)
您需要致电locale.setlocale(locale.LC_ALL, '')
。正如the docs指出:
根据POSIX,一个尚未调用的程序
setlocale(LC_ALL, '')
使用便携式'C'
语言环境运行。致电setlocale(LC_ALL, '')
让它使用 LANG 变量定义的默认语言环境。以来 我们不希望干扰我们当前的语言环境设置 以上述方式模仿行为。