Проблема числового формата в freemarker - получение округления после десятичных чисел - PullRequest
0 голосов
/ 31 октября 2019

Я использую шаблон Freemarker, у меня есть десятичное значение:

a = 23.65

Я просто хочу получить указанное выше значение как:

a = 23.6 <#-- Extract first number after decimal point -->

Я использовал number_format, например:

<#setting number_format="0.#">

Но значение после десятичной запятой округляется до 23.7. Кто-нибудь может знать, как извлечь первое число после десятичной точки без округления?

1 Ответ

1 голос
/ 31 октября 2019

Вам необходимо использовать расширенную опцию форматирования , чтобы указать roundingMode. Обратите внимание, что для их работы вам необходим как минимум FreeMarker 2.3.24.

По умолчанию freemarker использует режим округления halfEven. Для вашего случая вы можете попытаться указать down

${(23.65)?string(",##0.0;; roundingMode=down")}

Вы можете проверить это выражение онлайн здесь .

...