Мне нужно добавить, умножить и сравнить значения валют в PHP, и нужно быть уверенным, что оно точно с точностью до одного цента.
Один из способов - хранить все в float, использовать раунд до и послекаждая операция и разум машины эпсилон при сравнении на равенство.Довольно громоздкий imho.
Другой способ - хранить все это в виде центов в целочисленных типах данных, а также не забывать конвертировать туда и обратно каждый раз, когда я работаю с базой данных (mysql, где я использую десятичный тип данных).Неэлегатный и много ошибок, imho.
Другой способ - изобрести мой собственный «тип данных», сохранить все значения в строках («34.12») и создать свои собственные математические функции замены.Эти функции будут внутренне преобразовывать значение в целые числа, выполнять вычисления и выводить результат снова в виде строк.Удивительно сложно, imho.
Мой вопрос: как лучше всего работать с валютными значениями в PHP?Спасибо!