Don't need Bill owing .9000000000000004
authorphasefx <phasefx@dcc99617-32d9-48b4-a31d-7c20da2025e4>
Tue, 19 Jul 2005 22:22:02 +0000 (22:22 +0000)
committerphasefx <phasefx@dcc99617-32d9-48b4-a31d-7c20da2025e4>
Tue, 19 Jul 2005 22:22:02 +0000 (22:22 +0000)
git-svn-id: svn://svn.open-ils.org/ILS/trunk@1293 dcc99617-32d9-48b4-a31d-7c20da2025e4

Evergreen/staff_client/chrome/content/evergreen/patron/patron_utils.js
Evergreen/staff_client/chrome/content/evergreen/util/util.js

index cb9bcd7..c3fd87d 100755 (executable)
@@ -81,10 +81,10 @@ function patron_get_bills_total( au ) {
        else {
                var total = 0;
                for (var i = 0; i < au.bills.length; i++) {
-                       total += parseFloat( au.bills[i].balance_owed() );
+                       total += dollars_float_to_cents_integer( au.bills[i].balance_owed() );
                }
-               sdump('D_PATRON_UTILS','bills_total $$$ = ' + total + '\n');
-               return '$' + total;
+               sdump('D_PATRON_UTILS','bills_total $$$ = ' + cents_as_dollars( total ) + '\n');
+               return cents_as_dollars( total );
        }
 
 }
index ae592b7..2f8a5bb 100644 (file)
@@ -96,7 +96,19 @@ function yesno(value) {
        }
 }
 
+function dollars_float_to_cents_integer( money ) {
+       // careful to avoid fractions of pennies
+       var money_s = money.toString();
+       var dollars = money_s.split(".")[0];
+       var cents = money_s.split(".")[1];
+       var total = 0;
+       if (parseInt(cents)) total += parseInt(cents);
+       if (parseInt(dollars)) total += (parseInt(dollars) * 100);
+       return total;   
+}
+
 function cents_as_dollars( cents ) {
+       cents = cents.toString();
        return '$' + cents.substr(0,cents.length-2) + '.' + cents.substr(cents.length - 2);
 }