Django – remove trailing zeroes for a Decimal in a

2020-08-10 08:07发布

问题:

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.

回答1:

The solution is to use the normalize() method:

{{ balance.bitcoins.normalize }}


回答2:

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.