File Coverage

lib/Spreadsheet/Engine/Function/TRUNC.pm
Criterion Covered Total %
statement 17 17 100.0
branch 2 2 100.0
condition n/a
subroutine 4 4 100.0
pod 1 1 100.0
total 24 24 100.0


line stmt bran cond sub pod time code
1             package Spreadsheet::Engine::Function::TRUNC;
2              
3 28     28   152 use strict;
  28         60  
  28         896  
4 28     28   143 use warnings;
  28         1014  
  28         717  
5              
6 28     28   212 use base 'Spreadsheet::Engine::Fn::math2';
  28         58  
  28         5839  
7              
8             sub calculate {
9 21     21 1 673 my ($self, $num, $digits) = @_;
10 21 100       69 if ($digits >= 0) {
11 19         40 my $decimalscale = 10**int $digits;
12 19         47 my $scaledvalue = int($num * $decimalscale);
13 19         392 return $scaledvalue / $decimalscale;
14             }
15              
16             # $digits < 0
17 2         6 my $decimalscale = 10**int -$digits;
18 2         5 my $scaledvalue = int($num / $decimalscale);
19 2         41 return $scaledvalue * $decimalscale;
20             }
21              
22             1;
23              
24             __END__