Как правильно работать с числами с плавающей точкой в php?
В базе я храню не целые числа в виде string, далее, для вычислений преобразую в float, и после обратно в string.
Существует ли какой-нибудь класс для php для правильной работы с не целыми (float) числами?
Недавно видел в какой-то статье что-то вроде: "существуют еще такие странные люди, которые до сих пор работают в php с float числами напрямую, не используя класс ???".
Не подскажете, может кто знает этот класс, или есть иные привальные способы?
1) Если не стоит задачи хранить больше ~60 знаков после запятой - лучше использовать вместо string - decimal с указанием количества знаков после запятой.
2) php.net/manual/ru/book.bc.php
Хранить числа в виде строки, уже за это можно отрубать голову. Зачем? Что такое правильная работа с числами с плавающей точкой? Чем не устраивает стандартный механизм? И в какой это статье вы читали? Учитывая порог вхождения PHP, то тут очень аккуратно нужно читать статьи. А учитывая, что незнамо кто может закомитить как ему видится и убить целый релиз, как было в своё время с 5.2.0, когда один умник с phpclub убил релиз вырубив передачу параметров в функцию по ссылке.
Для большой математики есть GMP, BC Math. А в обычной работе стандартного типа хватает по полной.
Ну строго говоря использовать string можно все таки.
В mysql у decimal максимальное количество знаков после запятой = 65.
Соответственно если нужна бОльшая точность - выхода особо нет.