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