0

在我的typo3 扩展中,我通过后端保存了一个双精度值。我想把这个值放在前端。

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

有没有办法在 viewhelper 中“取消固定”小数?我还尝试将我的输出包装在 if 条件中以通过 modula 进行检查,但这永远不会返回正数。

如何在没有尾随零的情况下以精度输出格式化双精度数?

4

1 回答 1

3

只需一位数字(如您的示例中),以下代码对我有用。对于双精度,您必须在 else 情况下嵌套另一个 if 条件,因为流体中没有 else-if。

<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>
于 2017-04-13T13:19:27.183 回答