Necesito que se redondee un valor en el Kit de herramientas de plantilla de Perl. Pero no puedo usar ceil()
.
[%interestRate = ceil(mortgage.interest_rate / 100)%]
La respuesta muestra un null
valor.
Respuestas
4 para la respuesta № 1Creo que la sintaxis para proporcionar ceil
es
$c->stash->{ceil} = sub { ceil($_[0]) };
[% c.ceil(c.mortgage.interest_rate / 100) %]
Pero generalmente es mejor hacer sus cálculos fuera de las plantillas.
$c->stash->{mortgagetInterestRate} = ...;
6 para la respuesta № 2
Si prefiere un módulo CPAN, busque Template::Plugin::POSIX
. Este módulo proporciona, entre otros, ceil
y floor
funciones:
[% USE POSIX -%]
[% POSIX.ceil(0.5) %]
[% POSIX.floor(0.5) %]
Salida:
1
0
5 para la respuesta № 3
Tal vez necesite una directiva de división:
[% 15 / 6 %] -> 2.5
[% 15 div 6 %] -> 2
[% 15 mod 6 %] -> 3
El operador div devuelve el resultado entero de la división. Ambos y mod devuelve el módulo (es decir, el resto) de la división.
http://www.template-toolkit.org/docs/manual/Directives.html
0 para la respuesta № 4
Si el último dígito no importa:
[% number FILTER format("%.2f"); %]