如何使用 Twig 省略数字格式中的零值小数?

Kev*_*ell 2 php decimal decimalformat symfony twig

我想删除无意义的小数位,如下所示:

14.50   => 14.5
14.0500 => 14.05
14.000  => 14
Run Code Online (Sandbox Code Playgroud)

我正在寻找如何做到这一点,我发现了以下方法:

{{ number|trim('0')|trim('.') }}
Run Code Online (Sandbox Code Playgroud)

但上述过滤器的唯一问题是以下情况:

0.023 => 023
Run Code Online (Sandbox Code Playgroud)

有谁知道我怎样才能实现这一目标?

Mik*_*ikO 5

你没有在任何地方提到它,但我假设你的“数字”变量实际上是字符串,否则默认行为实际上就是你所期望的......

我的建议只是将这些string变量转换为floatPHP 代码中某处的变量,Twig 会按照您的预期呈现它们。

也就是说,如果您确实需要在 Twig 中执行此操作,您可以通过对字符串执行任何算术运算来自动将字符串转换为数字。请参见以下示例:

{% set stringNumber = '14.0500' %}
{% set number = 14.0500 %}

{{ stringNumber }}      {# Prints 14.0500 #}
{{ number }}            {# Prints 14.05 #}
{{ stringNumber + 0 }}  {# Prints 14.05 #}
Run Code Online (Sandbox Code Playgroud)

完整示例在这里: https: //twigfiddle.com/hwl82b