没有尾随零的typo3流体格式编号

时间:2017-01-17 10:20:35

标签: fluid typo3-7.6.x viewhelper

在我的typo3扩展中,我通过后端获得了一个双值。我想把这个值放在前端。

我希望将双精度格式化为使用德语','作为十进制分隔符(最大精度为1)。所以我用f:format.number viewhelper来设置它。但是,流体帮助器设置固定的小数。我想要动态小数,因为我不希望任何尾随0。 4.0应该显示为4。 如果我不使用viewhelper(从而输出原始数据),则行为符合要求。 4.0显示为4,但它也显示4.5为4.5而不是4,5。

有没有办法'解锁'viewhelper中的小数? 我还尝试将输出包装在if条件中以通过modula检查,但这永远不会返回正数。

如何在不带尾随零的精度上输出格式化双精度数?

1 个答案:

答案 0 :(得分:2)

对于一个数字(如您的示例中),以下代码适用于我。对于double,你必须在else的情况下嵌套另一个if条件,因为没有else-if in fluid。

<f:if condition="{number} == {number -> f:format.number(decimals: 0)}">
  <f:then>
    <f:format.number decimals="0" decimalSeparator=",">{number}</f:format.number>
  </f:then>
  <f:else>
     <f:format.number decimals="1" decimalSeparator=",">{number}</f:format.number>
  </f:else>
</f:if>