]> wagnertech.de Git - kivitendo-erp.git/blobdiff - SL/Form.pm
Form: round_amount precision support
[kivitendo-erp.git] / SL / Form.pm
index 32064f3c0b3a37ed7067389affcd77d070451697..b9263004be7bdbfd395a0758391ad106a3fbee96 100644 (file)
@@ -947,10 +947,15 @@ sub parse_amount {
 }
 
 sub round_amount {
-  my ($self, $amount, $places) = @_;
+  my ($self, $amount, $places, $adjust) = @_;
 
   return 0 if !defined $amount;
 
+  if ($adjust) {
+    my $precision = $::instance_conf->get_precision || 0.01;
+    return $self->round_amount( $self->round_amount($amount / $precision, 0) * $precision, $places);
+  }
+
   # We use Perl's knowledge of string representation for
   # rounding. First, convert the floating point number to a string
   # with a high number of places. Then split the string on the decimal