1
Amy 原创整理|资料核验:2026-10-30
Python 文档说明,Decimal 可以从字符串或浮点数构造,但从 float 构造时会精确转换那个浮点值本身;二进制浮点数可能已经无法精确表示原来的十进制数。
教学示例:Decimal('0.1') 直接表达十进制 0.1,而 Decimal(0.1) 接收到的已经是 Python 的二进制浮点近似值。事后转换类型,不会自动找回最初的输入含义。
Amy 建议:处理价格文本时,在验证格式后直接按十进制读取,再明确精度和舍入规则。不要依靠显示时保留两位小数来判断内部计算是否满足要求。
Decimal 也受运算上下文与舍入设置影响,不代表所有除法都能得到无限精确的有限小数。示例仅用于理解数据类型。