номер формата жидкости typo3 без нулей в конце

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

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

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

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


person user3154108    schedule 17.01.2017    source источник


Ответы (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>
person Volker    schedule 13.04.2017