summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorivan <ivan>2009-07-21 07:03:11 +0000
committerivan <ivan>2009-07-21 07:03:11 +0000
commit48214eb5dfdaf96e35a60959d9c227c699a2a3d3 (patch)
tree65df6110f3a5089807f90a9dd9221b3bdde7575e
parent8de398042315381f8db2a62475e95d391ca0a24f (diff)
yow. fix spurious charge errors w/single_price, round to four decimal places (wtf?) instead of 2, RT#5495
-rw-r--r--FS/FS/part_pkg/voip_cdr.pm8
1 files changed, 5 insertions, 3 deletions
diff --git a/FS/FS/part_pkg/voip_cdr.pm b/FS/FS/part_pkg/voip_cdr.pm
index 11ff76be4..4f05963ef 100644
--- a/FS/FS/part_pkg/voip_cdr.pm
+++ b/FS/FS/part_pkg/voip_cdr.pm
@@ -475,10 +475,12 @@ sub calc_usage {
my $minutes = sprintf("%.1f", $seconds / 60);
$minutes =~ s/\.0$// ;# if $granularity == 60;
- $charge = sprintf('%.2f', ( $self->option('min_charge') * $minutes )
- + 0.00000001 ); #so 1.005 rounds to 1.01
+ # XXX config?
+ #$charge = sprintf('%.2f', ( $self->option('min_charge') * $minutes )
+ #+ 0.00000001 ); #so 1.005 rounds to 1.01
+ $charge = sprintf('%.4f', ( $self->option('min_charge') * $minutes )
+ + 0.0000000001 ); #so 1.00005 rounds to 1.0001
- $charge =
$charges += $charge;
@call_details = ($cdr->downstream_csv( 'format' => $output_format,