The first example:
<?php $money = +; $rate = 1.15; $result = $money * $rate; Var_dump (Intval ($result)); Var_dump ($result);? >
The output is:
Int (114)
Float (115)
Why does this phenomenon occur???
In fact, the PHP float is a weakly typed variable, and when the operation is performed, if the value of the participating operation has a float, then the resulting result is also a float type;
As above: Originally obtained 115, but, actually stored is 149.9999999999 ...
This time, if you cast him to an integer, then the decimal point will be lost!!!
So how to avoid the problem of this precision???
To avoid this problem, it is very simple, as long as the operation of the process, the number of parameter operations with integers instead, it is OK;
<?php $money = +; $rate =; $result = $money * $rate/100; Var_dump (Intval ($result)); Var_dump ($result);? >
The output is:
Int (115)
Int (115)
When converting a float variable to int in PHP, the result is wrong!