decimal-from-float-literal (RUF032)
Fix is always available.
This rule is unstable and in preview. The --preview
flag is required for use.
What it does
Checks for Decimal
calls passing a float literal.
Why is this bad?
Float literals have limited precision that can lead to unexpected results.
The Decimal
class is designed to handle numbers with fixed-point precision,
so a string literal should be used instead.
Example
Use instead:
Fix Safety
This rule's fix is marked as unsafe because it changes the underlying value
of the Decimal
instance that is constructed. This can lead to unexpected
behavior if your program relies on the previous value (whether deliberately or not).