将decimal.Decimal设为Python的默认数值类型
有没有什么方法可以让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模块的文档底部,有一个函数正好满足我的需求:
- Python 3: "一个示例脚本,用于将浮点数转换为Decimal对象"
- Python 2: "一个示例脚本,用于将浮点数转换为Decimal对象"