Template Toolkit中的Round或ceil函数

时间:2013-10-31 10:42:41

标签: perl catalyst

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

[%interestRate = ceil(mortgage.interest_rate / 100)%]

答案显示null值。

4 个答案:

答案 0 :(得分:6)

如果您更喜欢CPAN模块,请查看Template::Plugin::POSIX。此模块提供ceilfloor函数:

[% USE POSIX -%]
[% POSIX.ceil(0.5) %]
[% POSIX.floor(0.5) %]

输出:

1
0

答案 1 :(得分:5)

也许您需要部门指令:

[% 15 / 6 %] -> 2.5

[% 15 div 6 %] -> 2

[% 15 mod 6 %] -> 3
  

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

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

答案 2 :(得分:4)

我认为提供ceil的语法是

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

[% c.ceil(c.mortgage.interest_rate / 100) %]

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

$c->stash->{mortgagetInterestRate} = ...;

答案 3 :(得分:0)

如果最后一位数无关紧要:

[% number FILTER format("%.2f"); %]