From 658a793422919736368e1f0a29b0f448ef362908 Mon Sep 17 00:00:00 2001
From: Mark Wells <mark@freeside.biz>
Date: Thu, 24 Jan 2013 17:22:58 -0800
Subject: [PATCH] fix floating point error in taxline, #21099

---
 FS/FS/cust_main_county.pm | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/FS/FS/cust_main_county.pm b/FS/FS/cust_main_county.pm
index 573359571..fb80809e0 100644
--- a/FS/FS/cust_main_county.pm
+++ b/FS/FS/cust_main_county.pm
@@ -512,8 +512,10 @@ sub taxline {
   # now round and distribute
   my $extra_cents = sprintf('%.2f', $taxable_cents * $self->tax / 100) * 100
                     - $tax_cents;
+  # make sure we have an integer
+  $extra_cents = sprintf('%.0f', $extra_cents);
   if ( $extra_cents < 0 ) {
-    die "nonsense extra_cents value $extra_cents"; # because seriously, wtf
+    die "nonsense extra_cents value $extra_cents";
   }
   $tax_cents += $extra_cents;
   my $i = 0;
-- 
2.20.1