Сделать значение на десятом месте в шаблоне nunjucks?

Используя фильтр round(), я могу добиться правильной точности с точностью до десятых долей, как в

{{ value | round(1) }}

Однако я все еще хочу отобразить десятые места, если value ноль или целое число. (0,0 вместо 0, 3,0 вместо 3)

Есть ли другой метод или другой способ сделать все значения десятыми?

2 ответа

Решение

Вот логика для пользовательского фильтра, так как круглый фильтр не будет поддерживать десятую часть для нуля или целых чисел:

nunjucks.configure().addFilter('tenths', function(num) {
        return parseFloat(num).toFixed(1);
    });

Тогда использование будет таким же, как и для любого фильтра:

{{ num | tenths }}

Добавить свой собственный фильтр

var env = nunjucks.configure(...

env.addFilter('round1', function(num) {
    if (!isNaN(num))
        return '???';

    return parseFloat(num).toFixed(1);    
});

использование

{{ value | round1 }}
Другие вопросы по тегам