#23935: DecimalField in admin can show up as Scientific Notation
-------------------------------+--------------------------------
     Reporter:  xblitz         |      Owner:  nobody
         Type:  Bug            |     Status:  new
    Component:  contrib.admin  |    Version:  1.7
     Severity:  Normal         |   Keywords:  DecimalField admin
 Triage Stage:  Unreviewed     |  Has patch:  1
Easy pickings:  1              |      UI/UX:  0
-------------------------------+--------------------------------
 In the django admin, if a DecimalField's value is lower than 0.000001
 displays as Scientific Notation (ex: 1E-7) since python Decimals converts
 automatically to a scientific notation (exponential)  ex:
 Decimal("0.0000001") = Decimal('1E-7')

 this is mostly visible when using Postgresql since DecimalFields with a
 value of 0 are saved with the decimal precision higher than 6 , ex:
 0.00000000 then in the admin instead of seeing 0 or 0.00000000 it is
 displayed as 0E-8

 the bug can be fixed by converting the Decimal to a fixed point value in
 admin/utils.py:

 @@ -375,7 +375,7 @@ def display_for_field(value, field):
      elif isinstance(field, (models.DateField, models.TimeField)):
          return formats.localize(value)
      elif isinstance(field, models.DecimalField):
 -        return formats.number_format(value, field.decimal_places)
 +        return formats.number_format(format(value, "f"),
 field.decimal_places)
      elif isinstance(field, models.FloatField):
          return formats.number_format(value)
      else:

--
Ticket URL: <https://code.djangoproject.com/ticket/23935>
Django <https://code.djangoproject.com/>
The Web framework for perfectionists with deadlines.

-- 
You received this message because you are subscribed to the Google Groups 
"Django updates" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to django-updates+unsubscr...@googlegroups.com.
To post to this group, send email to django-updates@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/django-updates/049.9e4e1aa4838bf22eb7d14bb773162dad%40djangoproject.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to