繁体   English   中英

在Delphi中,如何确定何时使用Real,Real48,Double或Single数据类型?

[英]In Delphi how do I determine when to use Real, Real48, Double or Single data types?

我的大多数申请都围绕着涉及支付和利率计算的财务计算。 我正在寻找如何确定最适合使用的Delphi数据类型。

如果我使用数据库来存储这些值,并且我已将该数据库中的字段定义为带有两个小数位的十进制值,哪种Delphi数据类型与该方案最兼容?

在将值存储在数据库中之前,我是否应该使用Delphi中的舍入公式将结果格式化为两位小数? 如果是这样,这样做的最佳做法是什么?

如果要进行财务计算,请不要使用任何浮点/实数类型。 Delphi有一个Currency类型,它是一个带有4位小数的定点值,应该就是你需要的。

对于此类计算,请勿使用Real,Single或Double等浮点类型。 它们不适合像0.01或1234.995这样的小数值,因为它们必须近似它们。

您可以使用货币,固定点类型,但仍然限制为4位小数。

尝试我的Decimal类型,它有28-29个位置并且有一个十进制指数,因此它非常适合这种计算。 唯一的缺点是它不支持FPU(但是用汇编语言编写),因此它没有内置类型那么快。 它与.NET中使用的Decimal类型相同(但速度稍快),与Mac上使用的类似。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM