I have a number stored in mysql as type float. From what I’ve read, I should be able to convert a float down by using floor(), but trying this or anything else isn’t working. Hoping someone can spot what I’m doing wrong?
Example..
The database shows price as $25.00 – In my php page, I have the following code (after converting the price row to $price):
$price2 = floor($price);
echo $price;
echo '<br>';
echo $price2;
My results are printing:
$25.00
0
I’ve also tried replacing ‘floor’ with ’round’. Same result.
That’s because you are using
$25.00as an input and the$makes PHP think that you’re trying to round a string — PHP will round a (non-numeric) string to 0.floor= round down.ceil= round up.round= the same process they taught you in grammar schoolBut none of those will work if you have a
$in the string. I suggest that you do something like'$' . round( str_replace( '$', '', $price ) * 100 ) / 100. (The multiplication and division makes it so that it is rounded to the nearest penny (instead of dollar), thestr_replacemakes it so that it is dealing with a numeric value, then prepend a$. If you’re being really fancy, then follow below)