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

Posted

技术标签:

【中文标题】没有四舍五入小数的树枝数字格式【英文标题】:Twig number format without rounding decimals 【发布时间】:2016-01-21 11:18:41 【问题描述】:

如何在不四舍五入的情况下在 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】:

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

试试这个宏:

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

可运行示例here

【讨论】:

太棒了。效果很好。为演示 +1。

以上是关于没有四舍五入小数的树枝数字格式的主要内容,如果未能解决你的问题,请参考以下文章

MS ACCESS OpenRecordset 四舍五入小数

excel中以文本格式储存的数字转换成数字后,小数点后的数字消失了,数值自动四舍五入为整数?

15、pandas的设置数字格式,小数位数、百分号、千位分隔符

JS数字四舍五入,格式化成百分数

BigDecimal的用法详解(保留两位小数,四舍五入,数字格式化,科学计数法转数字,数字里的逗号处理)

BigDecimal的用法详解(保留两位小数,四舍五入,数字格式化,科学计数法转数字,数字里的逗号处理)