Home >Backend Development >PHP Tutorial >Detailed analysis of php floating point type
This article mainly shares with you a detailed analysis of PHP floating point types. I hope you will have a deeper understanding of PHP floating point types.
Floating point data has accuracy issues.
var_dump(0.9 ==(1-0.1)) ==>> true; var_dump(0.1 == (1-0.9)) ==>> false;
Through the above example: It shows that floating point numbers should not be used to judge whether they are equal.
When you need to judge whether two floating point numbers are equal in PHP, you can use the bccomp function.
0 means equal 1 means greater than -1 means less than
bccomp (value 1, value 2, accurate to a few decimal places)
echo bccomp(0.1,(1-0.9),4) ==>> 0;echo bccomp(0.123,0.124,2) ==>> 0;echo bccomp(0.123,0.124,3) ==>> -1;
float can display up to 14 digits after the decimal point. The capacities of double and float in PHP are the same.
Floating point data has accuracy issues.
var_dump(0.9 ==(1-0.1)) ==>> true; var_dump(0.1 == (1-0.9)) ==>> false;
Through the above example: It shows that floating point numbers should not be used to judge whether they are equal.
When you need to judge whether two floating point numbers are equal in PHP, you can use the bccomp function.
0 means equal 1 means greater than -1 means less than
bccomp (value 1, value 2, accurate to several decimal places)
echo bccomp(0.1,(1-0.9),4) ==>> 0;echo bccomp(0.123,0.124,2) ==>> 0;echo bccomp(0.123,0.124,3) ==>> -1;
float can display up to 14 digits after the decimal point. The capacities of double and float in PHP are the same.
Related recommendations:
php floating point type (Float)
The above is the detailed content of Detailed analysis of php floating point type. For more information, please follow other related articles on the PHP Chinese website!