树枝:如何围捕?

Mil*_*loš 10 php number-formatting symfony twig

我在树枝上有一个部门.有时,结果可能是小数,我需要总是一个舍入结果.

防爆.

7 / 2 = 3.5
Run Code Online (Sandbox Code Playgroud)

我想拥有

7 / 2 = 4
Run Code Online (Sandbox Code Playgroud)

我知道如何在树枝上使用地板:

7 / 2 | floor = 3
Run Code Online (Sandbox Code Playgroud)

但这是向下数字,而不是向上数字.

我也知道我可以使用number_format

7 / 2 | number_format(0, '.', ',') = 3
Run Code Online (Sandbox Code Playgroud)

所以这也将采取下降数字.

关于如何告诉树枝采取高位数的任何想法?

这可以在控制器(Symfony)中完成,但我正在寻找树枝版本.

谢谢.

sef*_*rov 15

更新

在版本1.15.0+上,round可以使用过滤器.

{{ (7 / 2)|round(1, 'ceil') }}
Run Code Online (Sandbox Code Playgroud)

http://twig.sensiolabs.org/doc/filters/round.html


您可以延长枝和,因为它是描述编写自定义功能在这里

它将是这样的:

<?php
// src/Acme/DemoBundle/Twig/AcmeExtension.php
namespace Acme\DemoBundle\Twig;

class AcmeExtension extends \Twig_Extension
{
    public function getFilters()
    {
        return array(
            'ceil' => new \Twig_Filter_Method($this, 'ceil'),
        );
    }

    public function ceil($number)
    {
        return ceil($number);
    }

    public function getName()
    {
        return 'acme_extension';
    }
}
Run Code Online (Sandbox Code Playgroud)

所以你可以在树枝上使用它:

7 / 2 | ceil
Run Code Online (Sandbox Code Playgroud)


var*_*ius 10

版本1.15.0中的新功能:在Twig 1.15.0中添加了圆形过滤器.

例: {{ 42.55|round(1, 'ceil') }}

圆形过滤器有两个可选参数; 第一个指定精度(默认为0),第二个指定舍入方法(默认为常用)

http://twig.sensiolabs.org/doc/filters/round.html