我需要下面的C#代碼轉換爲德爾福:帶5位小數位的貨幣?
decimal XYZ = decimal.Round(dataset123.XYZ, 5, MidpointRounding.AwayFromZero);
結果將在MSSQL數據庫保存到浮點型字段。
當我在Delphi中使用double
時,有幾個問題,因爲它沒有固定的十進制。另外,當保存到ADO數據庫中時,數據庫查看器通常會顯示非常長的數字,因爲它的數字太多。此外,似乎有一個舍入方法問題,舍入不總是「遠離零」完成。
我想現在解決最嚴重的問題。我需要一個5位貨幣,但德爾福只有數據類型currency
有4位數。擁有5位數值是這類項目/業務流程的重要要求。
在一些互聯網的來源,我讀到人們談論這樣的代碼:
var
x: Decimal[5,3]
但是這句法不適用於我。我與德爾福2007年工作。
有什麼我可以做得到一個5位數的固定小數?
寫基於Int64的自己的類型 –
試試我的[十進制](http://rvelthuis.de/programs/decimals.html)類型。它與.NET Decimal類型兼容,所以你的代碼應該很容易移植。 –
@DavidHeffernan我該怎麼做?我試過'輸入C = 0.00000 .. 99999.99999;',但這不起作用。我不明白爲什麼Integer可以幫助定義小數。 –