在Twig中保持领先0

时间:2014-08-06 12:49:45

标签: symfony twig

在我的数据库中,我有一个包含以下数据的字段:000010(类型为整数)

在我的twig tpl中,我想显示它,然后我做:{{spend.documentName}}

但浏览器显示" 10"。好像Twig是自动执行我的数据修剪。 我试过{{spend.documentName | raw}},但它没有用。我在Google上找不到关于如何在Twig中保持领先0的任何内容。

有谁知道如何继续?

4 个答案:

答案 0 :(得分:26)

我认为你必须强制格式化(因为你的类型是整数)。

您可以使用格式过滤器:

{{ "%06d"|format(spending.documentName) }}

或者更好地创建一个树枝延伸(http://symfony.com/doc/current/cookbook/templating/twig_extension.html):

public function strpad($number, $pad_length, $pad_string) {
    return str_pad($number, $pad_length, $pad_string, STR_PAD_LEFT);
}

你的模板更清晰:

{{ spending.documentName | strpad(6,'0') }}

答案 1 :(得分:9)

您是否尝试使用format过滤器?

作为placeholders follows the sprintf notation您应该能够转换

php中的

sprintf('%06d', $integer);

在树枝上

{{ '%06d'|format($integer) }}

答案 2 :(得分:0)

为保持数字0,您可以{{ spending.documentName|capitalize }}

答案 3 :(得分:0)

Kinda在这里晚了,但是碰到了一样。

使用树枝3.x可以使用:

{{your.number | format_number({min_integer_digit:'2'})}}