不带四舍五入小数的树枝数字格式



如何在树枝中格式化数字而不四舍五入小数?例如,如果用户输入

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,这不是所需的输出。

在格式化数字之前,您应该确定数字中的小数位数。不是很明显,但我找不到其他解决方案。

尝试使用此宏:

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

此处可运行的示例

最新更新