Template Toolkit中的Round或ceil函数

Jit*_*esh 2 perl catalyst

我需要在Perl的Template Toolkit中舍入一个值.但我无法使用ceil().

[%interestRate = ceil(mortgage.interest_rate / 100)%]
Run Code Online (Sandbox Code Playgroud)

答案显示了一个null价值.

Sla*_*zic 6

如果您更喜欢CPAN模块,请查看Template::Plugin::POSIX.该模块提供除其他的ceilfloor功能:

[% USE POSIX -%]
[% POSIX.ceil(0.5) %]
[% POSIX.floor(0.5) %]
Run Code Online (Sandbox Code Playgroud)

输出:

1
0
Run Code Online (Sandbox Code Playgroud)


ike*_*ami 5

我认为提供的语法ceil

$c->stash->{ceil} = sub { ceil($_[0]) };

[% c.ceil(c.mortgage.interest_rate / 100) %]
Run Code Online (Sandbox Code Playgroud)

但通常最好在模板之外进行计算。

$c->stash->{mortgagetInterestRate} = ...;
Run Code Online (Sandbox Code Playgroud)


小智 5

也许你需要部门指令:

[% 15 / 6 %] -> 2.5

[% 15 div 6 %] -> 2

[% 15 mod 6 %] -> 3
Run Code Online (Sandbox Code Playgroud)

div运算符返回除法的整数结果.%和mod都返回除法的模数(即余数).

http://www.template-toolkit.org/docs/manual/Directives.html