Господа, тут такая проблема...
В общем, нужно хранить данные о товарах. У товара есть закупочная цена (может быть в любой валюте), которая часто бывает дробной, 6 баксов и 56 центов, например. Есть курс валюты, из него высчитывается цена в гривнах (украшка). Гривны округляются до целых.
Собственно говоря, это уже реализованная система, работает около года, всё круто, я собой горд и всё такое, но это глючит. Раз в пару недель появляется какой-нибудь товар, у которого цена округлена почему-то вверх... Или товар не возвращается на склад, т.к. изменился курс доллара и цена в гривнах уже не та...
В общем, работает плохо это. Терпеть можно, но в будущей версии нужно переделывать. Посему вопрос, что посоветуете для хранение денежных величин? Сейчас использую поле numeric в postgresql, храню там дробные числа типа 6.56. Но хочу полностью обезопасить себя от ошибок с числами с плавающей запятой, чтобы в отношении денег всё работало идеально. Посоветуйте проверенные на практике способы?