From: phasefx Date: Tue, 19 Jul 2005 22:22:02 +0000 (+0000) Subject: Don't need Bill owing .9000000000000004 X-Git-Url: https://old-git.evergreen-ils.org/?a=commitdiff_plain;h=bf50057e9099e3afc91c65330ede442bc5210885;p=Evergreen.git Don't need Bill owing .9000000000000004 git-svn-id: svn://svn.open-ils.org/ILS/trunk@1293 dcc99617-32d9-48b4-a31d-7c20da2025e4 --- diff --git a/Evergreen/staff_client/chrome/content/evergreen/patron/patron_utils.js b/Evergreen/staff_client/chrome/content/evergreen/patron/patron_utils.js index cb9bcd79b8..c3fd87d649 100755 --- a/Evergreen/staff_client/chrome/content/evergreen/patron/patron_utils.js +++ b/Evergreen/staff_client/chrome/content/evergreen/patron/patron_utils.js @@ -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 ); } } diff --git a/Evergreen/staff_client/chrome/content/evergreen/util/util.js b/Evergreen/staff_client/chrome/content/evergreen/util/util.js index ae592b787f..2f8a5bb6d8 100644 --- a/Evergreen/staff_client/chrome/content/evergreen/util/util.js +++ b/Evergreen/staff_client/chrome/content/evergreen/util/util.js @@ -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); }