Поле BCD Delphi отображается неправильно, если DisplayFormat содержит точку

У меня странная проблема со старым проектом, который все еще поддерживается в Delphi 7.

У меня есть компонент TFMTBCDField, представляющий числовое поле Firebird (называемое GROSSPRICE). Это значение рассчитывается на стороне сервера (SQL-сервером Firebird). Из-за налоговой ставки в 27% значения часто бывают такими, как 4999,9999, которые я хотел бы отображать округленными значениями.

Странно то, что если я установил для DisplayFormat в этом поле значение, внутри которого находится точка (например, "0.##"), то значение 4999,9999 отображается как "5" (должно быть либо "5000", либо "4999,99").). То же самое работает с полями Валюта, как и ожидалось.

Я приложил несколько изображений с примерами. Знаете ли вы, почему это происходит, и (если возможно), как решить это?

0 ответов

Другие вопросы по тегам