Is there a way to remove trailing zeros from a Decimal
field in a django template?
This is what I have: 0.0002559000
and this is what I need: 0.0002559
.
There are answers suggesting to do this using the floatformat
filter:
{{ balance.bitcoins|floatformat:3 }}
However, floatformat
performs rounding (either down or up), which is unwanted in my case, as I only need to remove trailing zeros without any rounding at all.
You can remove trailing zeros using TRIM() function.
You can use floatformat to round of the value in django template. If you want to perform more mathematical operations, you can try django-mathfilters. Or you could write your custom template tag and perform the operations in that template tag.
Algorithm. Step 1: Get the string Step 2: Count number of trailing zeros n Step 3: Remove n characters from the beginning Step 4: return remaining string.
The solution is to use the normalize()
method:
{{ balance.bitcoins.normalize }}
Try {{ balance.bitcoins|floatformat:"-3" }}
.
https://docs.djangoproject.com/en/2.0/ref/templates/builtins/#floatformat:
If the argument passed to floatformat is negative, it will round a number to that many decimal places – but only if there’s a decimal part to be displayed.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With