将decimal.Decimal设为Python的默认数值类型

16 投票
2 回答
2685 浏览
提问于 2025-04-16 10:11

有没有什么方法可以让Python中的所有数字默认使用decimal.Decimal类型?我希望能像使用bc和dc程序那样使用Python,而不需要对每个数字都写decimal.Decimal(...)。

补充说明:对于不太了解的人,可以看看bc程序

补充说明2:感谢tokenize模块

2 个回答

6

你想做的事情其实很难实现,除非有一些特别复杂的技巧,我在这里就不深入讲了。不过,有一种比直接使用 decimal.Decimal(...) 方式稍微简单一点的方法。

from decimal import Decimal as D
num = D("1") + D("2.3")

补充:可以使用评论里提到的更简短的写法。

8

在tokenize模块的文档底部,有一个函数正好满足我的需求:

撰写回答