我如何使用 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
我想去掉无意义的小数位,像这样:
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