Delphi 7 で維持されている古いプロジェクトで奇妙な問題が発生しています。
Firebird 数値フィールド (GROSSPRICE と呼ばれる) を表す TFMTBCDField コンポーネントがあります。その値はサーバー側で (Firebird SQL サーバーによって) 計算されます。27% の税率のため、値は 4999.9999 のようになることが多く、値を四捨五入して表示したいと考えています。
奇妙なことに、そのフィールドの DisplayFormat を内部にドットを含む値 (例: '0.##') に設定すると、4999.9999 が "5" として表示されます ("5000" または "4999.99" のいずれかである必要があります)。 )。通貨フィールドでも同じことが期待どおりに機能します。
例とともにいくつかの画像も添付しました。なぜそれが起こっているのか、そして(可能であれば)それを解決する方法を知っていますか?