diff options
author | Ivan Kohler <ivan@freeside.biz> | 2013-09-03 22:51:41 -0700 |
---|---|---|
committer | Ivan Kohler <ivan@freeside.biz> | 2013-09-03 22:51:41 -0700 |
commit | 81ffe1d0f3f0201c9392bb5555134d65b0ce33c6 (patch) | |
tree | eae5df5001d10ea933e91da76e5f4b6eb6c887dc /FS | |
parent | d64453a468d6477aaf62e0bfc10e30cfe9f836b6 (diff) |
rounding
Diffstat (limited to 'FS')
-rw-r--r-- | FS/FS/cdr.pm | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/FS/FS/cdr.pm b/FS/FS/cdr.pm index de9cf124a..9d72c39e4 100644 --- a/FS/FS/cdr.pm +++ b/FS/FS/cdr.pm @@ -955,9 +955,15 @@ sub rate_prefix { # this is why we need regionnum/rate_region.... warn " (rate region $rate_region)\n" if $DEBUG; + # NOW round it. + my $rounding = $part_pkg->option_cacheable('rounding') || 2; + my $sprintformat = '%.'. $rounding. 'f'; + my $roundup = 10**(-3-$rounding); + my $price = sprintf($sprintformat, $charge + $roundup); + $self->set_status_and_rated_price( 'rated', - sprintf('%.2f', $charge + 0.000001), # NOW round it. + $price, $opt{'svcnum'}, 'rated_pretty_dst' => $pretty_dst, 'rated_regionname' => $rate_region->regionname, |