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