|
Posted by John Nichel on 07/19/05 20:26
Chris Boget wrote:
>>Chris Boget wrote:
>><snip>
>>
>>>echo "if( $originalNet != $calculatedNet ) = " . ( (int)$originalNet !==
>>>(int)$calculatedNet ) . "<br>\n";
>>
>></snip>
>>Change this to echo out what you're comparing...
>>echo "if( ". (int)$originalNet ." != ". (int)$calculatedNet ." ) = " . (
>>(int)$originalNet !== (int)$calculatedNet ) . "<br>\n";
>>That'll show what numbers is actually trying to match.
>
>
> Ok, then that begs the following questions:
>
> If I don't cast any of the values, why do they display as being identicle?
> Additionally, why does every IF check fail in that case?
There's some freaky math going on there or something. I added a couple
of other echos in to see and for some reason it seems to be losing
single digit value (subtracting, rounding down, I don't know).
$calculatedGross = $originalNet + ( $originalNet * $commissionPct * 0.01 );
echo ( "Gross : " . (int)$calculatedGross ." = ". $originalNet ." + ( ".
$originalNet ." * ". $commissionPct ." *.01 )<br />\n" );
$calculatedNet = $calculatedGross / ( 1 + ( $commissionPct * 0.01 ));
echo ( "Net : " . (int)$calculatedNet." = " . (int)$calculatedGross . "
/ ( 1 + ( " . $commissionPct . " * .01 ) )<br />\n" );
--
John C. Nichel
ÜberGeek
KegWorks.com
716.856.9675
john@kegworks.com
Navigation:
[Reply to this message]
|