1 dump('entering util/money.js\n');
3 if (typeof util == 'undefined') var util = {};
6 util.money.EXPORT_OK = [
7 'dollars_float_to_cents_integer', 'cents_as_dollars'
9 util.money.EXPORT_TAGS = { ':all' : util.money.EXPORT_OK };
11 util.money.dollars_float_to_cents_integer = function( money ) {
12 // careful to avoid fractions of pennies
13 var money_s = money.toString();
14 // FIXME: strip miscellaneous characters
15 var marray = money_s.split(".");
16 var dollars = marray[0];
17 var cents = marray[1];
19 if (cents.length < 2) {
25 if (cents.length > 2) {
26 dump("util.money: We don't round money\n");
27 cents = cents.substr(0,2);
33 if (parseInt(cents)) total += parseInt(cents);
37 if (parseInt(dollars)) total += (parseInt(dollars) * 100);
43 util.money.cents_as_dollars = function( cents ) {
44 cents = cents.toString();
45 // FIXME: strip miscellaneous characters
46 if (cents.match(/\./)) cents = util.money.dollars_float_to_cents_integer( cents );
48 switch( cents.length ) {
49 case 0: cents = '000'; break;
50 case 1: cents = '00' + cents; break;
54 return cents.substr(0,cents.length-2) + '.' + cents.substr(cents.length - 2);
57 util.money.sanitize = function( money ) {
58 return util.money.cents_as_dollars( util.money.dollars_float_to_cents_integer( money ) );
62 dump('exiting util/money.js\n');