Hi I am trying to divide two integers ex: 12/13 but I always get a whole integer 1 not a decimal number.
I tried type casting the values to float before hand with no success.
Basically all I want is a decimal result like: 0.923…
$x = 12;
$y = 13;
echo $value = $x / $y; //Would like to see 0.923 not 1
Under normal circumstances your code should return the floating value
0.923076
…The reason you get a rounded integer might be because you have your
ini setting
for"precision"
set to0
, to fix this either edit yourphp.ini
or useini_set("precision", 3);
in your code before the calculation.Another way to workaround this is to use BCmath:
And yet another way without using any extension is to use a little math trick by multiplying the value you want to divide by
1000
to get3 decimals
.This way you’ll divide
12000
by13
and the whole part will be923
, then since you multiplied by 1e3 insert a comma/dot before the last most 3 places.echo divideFloat($a, $b); // 0.923