在我的typo3扩展中,我通过后端获得了一个双值。我想把这个值放在前端。
我希望将双精度格式化为使用德语','作为十进制分隔符(最大精度为1)。所以我用f:format.number
viewhelper来设置它。但是,流体帮助器设置固定的小数。我想要动态小数,因为我不希望任何尾随0。 4.0应该显示为4。
如果我不使用viewhelper(从而输出原始数据),则行为符合要求。 4.0显示为4,但它也显示4.5为4.5而不是4,5。
有没有办法'解锁'viewhelper中的小数? 我还尝试将输出包装在if条件中以通过modula检查,但这永远不会返回正数。
如何在不带尾随零的精度上输出格式化双精度数?
答案 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>