首页 > 解决方案 > 我在转换货币时收到错误 decimal.InvalidOperation

问题描述

当我尝试转换货币时收到错误消息:

decimal.InvalidOperation: [<class 'decimal.ConversionSyntax'>]

我的代码:

import decimal
decimal.Decimal("$1,234.00")

标签: pythondecimallocalecurrency

解决方案


尝试从适当的语言环境转换您的货币。如果是美元 ($),适当的语言环境是"USA"

import decimal
import locale

locale.setlocale(locale.LC_ALL, 'USA')
decimal.Decimal(locale.delocalize("$1,234.00").lstrip("$"))

如您所见,我还手动删除了“$”符号。

如果您不想处理本地化,您可以,像这样删除逗号 ():

decimal.Decimal("$1,234.00".replace(",","").lstrip("$"))

推荐阅读