|
Posted by Acrobatic on 12/07/07 20:01
Hello,
I know this will be an easy fix--but as of now I'm banging my head
against the wall. I need a fresh perspective from the group to see
what my problem is:
This is a simple accounting application, and the code below is
checking to see if a user's withdraw request is greater than their
available balance:
$withdraw_request = $_REQUEST['withdraw_amount']; // 543.21
$withdraw_maximum = $user['available_balance']; // 543.21
if($withdraw_request > $withdraw_maximum) {
echo "Insufficient funds.";
} else {
echo "Processing...";
}
In my application, both values are equal (543.21), but
$withdraw_request > $widthdraw_maximum still evaluates to TRUE, and
thus shows "Insufficient funds." If the two values are whole numbers,
like "543", then they evaluate the way I expect them to.
I've tried everything I can think of, like
$withdraw_request = floatval($_REQUEST['withdraw_amount']);
$withdraw_maximum = floatval($user['available_balance']);
as well as doing an "isnumeric" check on both values (they both return
true), but still no luck. If $withdraw_request is less than (<) the
$withdraw_maximum--ie 543.20 < 543.21, the script works fine.
Also, if I hard code the values, the script works fine. Somewhere
between pulling the maximum from the database and getting the
$_REQUEST variable things are getting lost in translation.
Thanks for any advice
Navigation:
[Reply to this message]
|