没有舍入小数的树枝数字格式

时间:2016-01-21 11:18:42

标签: twig number-formatting

如果没有舍入小数,如何在twig中格式化数字? 例如,如果用户输入

12345.35,输出应为12,345.35

12345.356,输出应为12,345.356

12345.3567,输出应为12,345.3567

我尝试了number_format过滤器,但第一个参数是小数应该舍入到的精度。如果我使用12345.35|number_format(4, '.', ','),则结果为12,345.3500,这不是所需的输出。

1 个答案:

答案 0 :(得分:1)

在格式化之前,您应该确定数字中的小数位数。不太明显,但我找不到另一种解决方案。

尝试使用此宏:

{% macro show_number(n) %}
  {%- spaceless %}
    {% set decimals = n | split('.')[1] | default('') | length %}
    {{ n | number_format(decimals, '.', ',') }}
  {% endspaceless -%}
{% endmacro %}

可运行的示例here