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

How would I omit zero value decimals in a number format using Twig?

我想去掉无意义的小数位,像这样:

14.50   => 14.5
14.0500 => 14.05
14.000  => 14

我正在搜索如何做到这一点,我找到了以下方法:

{{ number|trim('0')|trim('.') }}

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

0.023 => 023

有谁知道我怎样才能做到这一点?

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

我的建议是简单地将那些 string 变量转换为 float 变量中某处的 PHP 代码,Twig 将按照您的预期呈现它们。

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

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

{{ stringNumber }}      {# Prints 14.0500 #}
{{ number }}            {# Prints 14.05 #}
{{ stringNumber + 0 }}  {# Prints 14.05 #}

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