【问题标题】:How would I omit zero value decimals in a number format using Twig?如何使用 Twig 以数字格式省略零值小数?
【发布时间】:2017-09-29 22:57:13
【问题描述】:
我想去掉无意义的十进制数字,像这样:
14.50 => 14.5
14.0500 => 14.05
14.000 => 14
我正在搜索如何做到这一点,我找到了以下方法:
{{ number|trim('0')|trim('.') }}
但上述过滤器的唯一问题是以下情况:
0.023 => 023
有谁知道我怎样才能做到这一点?
【问题讨论】:
标签:
php
symfony
twig
decimal
decimalformat
【解决方案1】:
你没有在任何地方提到它,但我假设你的“数字”变量实际上是字符串,否则默认行为实际上就是你所期望的......
我的建议是简单地将那些 string 变量转换为您 PHP 代码中某处的 float 变量,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