Номер формата жидкости Typo3 без конечных нулей

В моем расширении typo3 я получил двойное значение, сохраненное через бэкэнд. Я хочу выставить это значение во внешнем интерфейсе.

Я хочу, чтобы двойной форматировался, чтобы использовать немецкий ',' в качестве десятичного разделителя (и с максимальной точностью 1). Так что я использовал f:format.number viewhelper, чтобы установить это. Однако этот помощник по текучим средам устанавливает фиксированные десятичные дроби. Я хочу динамические десятичные дроби, так как я не хочу никаких конечных 0. 4.0 должен быть показан как 4. Если я не использую viewhelper (таким образом выводя необработанные данные), поведение будет таким, как хотелось бы. 4.0 показывает как 4, однако также показывает 4.5 как 4.5, а не как 4,5.

Есть ли способ "расфиксировать" десятичные дроби в окне просмотра? Я также пытался обернуть свой вывод, если условия проверять по модулю, но это никогда не возвращает положительный результат.

Как вывести форматированные двойные числа с точностью без конечных нулей?

1 ответ

Только для одной цифры (как в вашем примере) следующий код работал для меня. Для двойного вы должны вложить другое условие if в случае else, поскольку в жидкости нет 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>
Другие вопросы по тегам