我需要下面的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可以帮助定义小数。 –