summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--django/db/backends/utils.py18
1 files changed, 7 insertions, 11 deletions
diff --git a/django/db/backends/utils.py b/django/db/backends/utils.py
index e7b9c30193..2c404b3a0b 100644
--- a/django/db/backends/utils.py
+++ b/django/db/backends/utils.py
@@ -225,18 +225,14 @@ def format_number(value, max_digits, decimal_places):
"""
if value is None:
return None
- if isinstance(value, decimal.Decimal):
- context = decimal.getcontext().copy()
- if max_digits is not None:
- context.prec = max_digits
- if decimal_places is not None:
- value = value.quantize(decimal.Decimal(1).scaleb(-decimal_places), context=context)
- else:
- context.traps[decimal.Rounded] = 1
- value = context.create_decimal(value)
- return "{:f}".format(value)
+ context = decimal.getcontext().copy()
+ if max_digits is not None:
+ context.prec = max_digits
if decimal_places is not None:
- return "%.*f" % (decimal_places, value)
+ value = value.quantize(decimal.Decimal(1).scaleb(-decimal_places), context=context)
+ else:
+ context.traps[decimal.Rounded] = 1
+ value = context.create_decimal(value)
return "{:f}".format(value)