金额浮点数计算与显示误差处理,有何高招?(100分)

  • 主题发起人 主题发起人 HEPAM
  • 开始时间 开始时间
H

HEPAM

Unregistered / Unconfirmed
GUEST, unregistred user!
数据库采用浮点数表示金额,在程序中进行大量记录统计求和与手工计算误差1分或2分,请提供解决问题方法?数据库采用SQL SEVER
 
将计算尽量在SQLSERVER中进行试一试!
 
在保存数据时就保存位数到分,就不会出错了
 
在数据表中数据类型用 DECIMAL, 小数位根据你的要求而定. 统计求和均
通过SQL操作, 应该不会有问题. 如果在DELPHI中用浮点数计算, 你就不好办了.
 
其实金额在sql server中可以定义为money类型,在delphi中用currency类型的变量
对它进行计算,我一直这样用,没有出现误差问题。
 
我刚刚遇到过和你一样的问题,我的解决办法是在SQL Server 里用Money型存
数据。在前端用floattostrf(total,ffcurrency,15,2)
 
用Currency吧,很好用的。
嘻嘻,
也不记得是那位大虾告诉我的了。
 
用float肯定有误差,不然还要money干什么,在delphi中用currency,保证不会有误差.
 
Please use currency!
 
如果改数据库结构不方便,可将求出的浮点和作四舍五入处理后试试。
 
多人接受答案了。
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
I
回复
0
查看
540
import
I
后退
顶部