Fixed #36715 -- Handled non-finite Decimals in intcomma filter.

This commit is contained in:
Kasyap Pentamaraju
2025-11-07 10:31:53 +05:30
committed by Jacob Walls
parent e78420c2b8
commit fffa64abc3
2 changed files with 9 additions and 0 deletions

View File

@@ -48,6 +48,9 @@ def format(
if abs(number) < cutoff:
number = Decimal("0")
if not number.is_finite():
return str(number)
# Format values with more than 200 digits (an arbitrary cutoff) using
# scientific notation to avoid high memory usage in {:f}'.format().
_, digits, exponent = number.as_tuple()

View File

@@ -153,6 +153,9 @@ class HumanizeTests(SimpleTestCase):
"-1234567.1234567",
Decimal("1234567.1234567"),
Decimal("-1234567.1234567"),
Decimal("Infinity"),
Decimal("-Infinity"),
Decimal("NaN"),
None,
"",
"-",
@@ -193,6 +196,9 @@ class HumanizeTests(SimpleTestCase):
"-1,234,567.1234567",
"1,234,567.1234567",
"-1,234,567.1234567",
"Infinity",
"-Infinity",
"NaN",
None,
"1,234,567",
"-1,234,567",