I am totally buffaloed by a set of very simple calculations that I am
doing;
/* calculate total balance with payments and adjustments */
$totalBalance = $acct['BALANCE'] + $adjBalance;
echo number_format($totalBalance, 2, '.', '')."\t";
/* calculate total charges */
$totalCharges = $intlLDCharges + $longDistance + $smsCharges +
$daCharges + $totalData + $roaming;
echo number_format($totalCharges, 2, '.', '')."\t";
/*
* calculate difference between total balance and total charges
* if the amount matches the ending balance then all is OK
* if not calculate the difference
*/
$totBalDiff = $totalBalance - $totalCharges;
if($totBalDiff === $endingBal){
echo "OK\t";
} else {
/* what is the difference between the ending balance and
the charges? */
$totChargeDiff = $endingBal - $totalCharges;
echo number_format($totChargeDiff, 2, '.', '')."\t";
}
Each number represented by a variable in all of these calculations has
been rounded to 2 decimal points at the point they are generated. For
the most part this works just hunky-dory but I have a handful of calcs
(out of 300k plus records) that look like this....
$endingBal 0.10
$totalBalance 0.30
$totalCharges 0.20
$totalChargeDiff -0.10
The balance minus the charges does equal the ending balance as it should
but it is saying that it doesn't and that there a 20 cent swing (-0.10
is 20 cents different than 0.10).
I must be missing something. When I echo out raw data I do not see
negative signs. Does anyone have any insight as to what might be
happening here?
--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php