我需要在Perl的Template Toolkit中舍入一个值.但我无法使用ceil().
[%interestRate = ceil(mortgage.interest_rate / 100)%]
Run Code Online (Sandbox Code Playgroud)
答案显示了一个null价值.
如果您更喜欢CPAN模块,请查看Template::Plugin::POSIX.该模块提供除其他的ceil和floor功能:
[% USE POSIX -%]
[% POSIX.ceil(0.5) %]
[% POSIX.floor(0.5) %]
Run Code Online (Sandbox Code Playgroud)
输出:
1
0
Run Code Online (Sandbox Code Playgroud)
我认为提供的语法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