Сделать значение на десятом месте в шаблоне 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 }}