将值渲染到 nunjucks 模板中的十分之一?

Render value to tenths place in nunjucks template?

使用 round() 过滤器我可以达到十分之一的正确精度,如

{{ value | round(1) }}

但是,如果 value 是零或整数,我仍然想显示小数位。 (0.0 而不是 0,3.0 而不是 3)

是否有不同的方法或其他方式将 所有 值呈现到十分位?

添加你自己的filter

var env = nunjucks.configure(...

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

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

用法

{{ value | round1 }}

这是自定义过滤器的逻辑,因为圆形过滤器不会为零或整数保留十分之一的位置:

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

然后用法与任何过滤器相同:

{{ num | tenths }}