summaryrefslogtreecommitdiff
path: root/django/utils
diff options
context:
space:
mode:
Diffstat (limited to 'django/utils')
-rw-r--r--django/utils/numberformat.py3
1 files changed, 3 insertions, 0 deletions
diff --git a/django/utils/numberformat.py b/django/utils/numberformat.py
index 961a60e37d..3bfdb2ea52 100644
--- a/django/utils/numberformat.py
+++ b/django/utils/numberformat.py
@@ -26,6 +26,9 @@ def format(number, decimal_sep, decimal_pos=None, grouping=0, thousand_sep='',
return mark_safe(number)
# sign
sign = ''
+ # Treat potentially very large/small floats as Decimals.
+ if isinstance(number, float) and 'e' in str(number).lower():
+ number = Decimal(str(number))
if isinstance(number, Decimal):
if decimal_pos is not None: