Как мы все знаем, арифметика с плавающей запятой не всегда полностью точна, но как вы справляетесь с ее несогласованностью?
В качестве примера, в PHP 5.2.9: (этого не происходит в 5.3)
echo round(14.99225, 4); // 14.9923 echo round(15.99225, 4); // 15.9923 echo round(16.99225, 4); // 16.9922 ?? echo round(17.99225, 4); // 17.9922 ?? echo round(25.99225, 4); // 25.9922 ?? echo round(26.99225, 4); // 26.9923
Как бы вы обошли это?
Добро пожаловать в IEEE754, наслаждайтесь пребыванием .
Вместо этого используйте bc
или gmp
.
как вы справляетесь с его несоответствиями?