Как округлить десятичное число до 2 знаков в шаблонизаторе Velocity?

Как я могу округлить десятичное число до 2 знаков в Velocity Template Engine?

#set ($Percentage = $Marks*100/$Total)

Я хочу округлить процент до 2 знаков после запятой. Как я могу это сделать?

Double roundTo(Object decimals, Object num) это сработает? то есть

#set ($Percentage = roundTo(2, $Marks*100/$Total)) будет работать? мне нужно будет включить что-нибудь в файл .vm, чтобы это сработало?


person Tarun Kumar    schedule 14.09.2011    source источник


Ответы (1)


Используйте MathTool из проекта VelocityTools.

$math.roundTo(2, $value)

Не забудьте поместить MathTool в свой контекст: context.put("math", new MathTool()) или использовать поддержку контекста VelocityTools для автоматического предоставления инструментов при их использовании.

P.S.

Не забудьте добавить зависимость maven для инструмента Velocity math:

<dependency>
    <groupId>org.apache.velocity</groupId>
    <artifactId>velocity-tools</artifactId>
    <version>2.0</version>
</dependency>
person Nathan Bubna    schedule 14.09.2011
comment
Пожалуйста, ответьте на мой вопрос более подробно. Заранее спасибо. - person Tarun Kumar; 19.09.2011
comment
если $value=12 возвращает 12.0, как мне заставить его возвращать 12.00 вместо этого? - person Val; 24.04.2013
comment
Это не округление, это форматирование. Посмотрите на NumberTool для этого. - person Nathan Bubna; 25.04.2013