跳到内容

decimal-from-float-literal (RUF032)

修复总是可用的。

作用

检查传递浮点数文本的 Decimal 调用。

为什么这不好?

浮点数文本具有有限的精度,可能导致意外的结果。 Decimal 类旨在处理具有定点精度的数字,因此应使用字符串文本。

示例

num = Decimal(1.2345)

建议改为

num = Decimal("1.2345")

修复安全性

此规则的修复被标记为不安全,因为它更改了构造的 Decimal 实例的底层值。 如果您的程序依赖于先前的值(无论是故意还是非故意),这可能会导致意外的行为。