Поле BCD Delphi отображается неправильно, если DisplayFormat содержит точку
У меня странная проблема со старым проектом, который все еще поддерживается в Delphi 7.
У меня есть компонент TFMTBCDField, представляющий числовое поле Firebird (называемое GROSSPRICE). Это значение рассчитывается на стороне сервера (SQL-сервером Firebird). Из-за налоговой ставки в 27% значения часто бывают такими, как 4999,9999, которые я хотел бы отображать округленными значениями.
Странно то, что если я установил для DisplayFormat в этом поле значение, внутри которого находится точка (например, "0.##"), то значение 4999,9999 отображается как "5" (должно быть либо "5000", либо "4999,99").). То же самое работает с полями Валюта, как и ожидалось.
Я приложил несколько изображений с примерами. Знаете ли вы, почему это происходит, и (если возможно), как решить это?