It's a display thing, not an algorithm thing. It rounds by default at a certain length, previously 17 digits.
php > echo PHP_VERSION; 8.2.1 php > $zeropointthree = 0.1 + 0.2; php > echo $zeropointthree; 0.3 php > ini_set('precision', 100); php > echo $zeropointthree; 0.3000000000000000444089209850062616169452667236328125
It's a display thing, not an algorithm thing. It rounds by default at a certain length, previously 17 digits.
https://www.php.net/manual/en/ini.core.php#ini.precision