@michaelromanov90

Какую библиотеку или методику лучше использовать для работы с ценами в интернет-магазине?

Делаю магазин на php. Мне нужно проводить много калькуляций с модулем скидок и у меня есть подозрения что что-то пойдёт не так.
По архитектуре классов и т.п. вопросов нет. Но есть вопросы:
1) Есть ли какие-то нюансы у php, которые могут привести к "неожиданному результату", например особенности в системе счисления и т.п.?
2) Есть ли готовые решения в плане библиотек на php для работы с числами, которая обеспечивала бы высокую точность (расширение на c++ к php).
3) Какие можете дать советы по работе с числами в php в плане создания магазина?
  • Вопрос задан
  • 242 просмотра
Решения вопроса 1
bitniks
@bitniks
Go/PHP/Symfony developer
1) К неожиданному результату могут привести операции с float и double, но это так везде, не только в PHP
2) https://github.com/moneyphp/money
3) Для работы с деньгами не использовать числа с плавающей точкой. Либо оперировать копейками в int, либо использовать специально для этого предназначенные библиотеки
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
@Flying
Для работы с денежными значениями есть минимум две библиотеки:
  1. moneyphp/money
  2. brick/money

Первая более популярная, её используют многие библиотеки. Но в последние полгода разработка встала, так что в своём проекте я решил использовать вторую из них, работает хорошо.

Если смотреть на зависимые от них пакеты - можно найти ещё много всего интересного по этой теме.
Ответ написан
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
Как и у практически всех языков программирования, ошибка округления при работе с вещественными числами. https://0.30000000000000004.com/
Оптимально - работать в целых числах (например, в копейках), переводя к дроби только для отображения.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы