我正在使用Python decimal模块,我已经将我的语言环境设置为德国,这样locale.localeconv()["decimal_point"]就是","。当我尝试创建decimal.Decimal("1,23")这样的decimal时,我得到了一个decimal转换语法错误。当我创建decimal.Decimal("1.23")时,它工作了。Python decimal在从字符串创建decimal时不考虑区域设置吗?
locale.localeconv()["decimal_point"]
","
decimal.Decimal("1,23")
decimal.Decimal("1.23")
pjngdqdw1#
不,decimal.Decimal构造函数只接受符合所示语法的数字字符串,其中.是唯一支持的小数点。
decimal.Decimal
.
decimal-part ::= digits '.' [digits] | ['.'] digits
语言环境设置仅与将Decimal化回字符串相关,例如,请参见How can I locale-format a python Decimal and preserve its precision?
Decimal
1条答案
按热度按时间pjngdqdw1#
不,
decimal.Decimal
构造函数只接受符合所示语法的数字字符串,其中.
是唯一支持的小数点。语言环境设置仅与将
Decimal
化回字符串相关,例如,请参见How can I locale-format a python Decimal and preserve its precision?