数据精度问题,数据库高手请进,急!!!(100分)

  • 主题发起人 主题发起人 jetcoyuan
  • 开始时间 开始时间
J

jetcoyuan

Unregistered / Unconfirmed
GUEST, unregistred user!
假设在SQL-SERVER数据库中建立一个表A,A中有一表B,
B中有一numberic型字段C N(10,4).用DELPHI5.0工具SQL EXPLORE
修改数据字段C时:
1.输入23.7,存盘的是23.6999,应该是23.7000,错误;
2.输入11.3,存盘的是11.3,正确;
3.但在SQL-SERVER Enterprise Manager中修改都正确。
同样上述情况在ORACLE中不管用SQL EXPLORE还是ORACLE工具修改数据字段C,
结果都正确,请问高手如何解决?

BestRecards/Jetcoyuan
 
此问题本人遇到过。没有好的方法。
许多小数无法精确表示,数据库处理FLOAT与NUMERIC类型的区别在于
前者是舍入保存,后者存储时是自动截尾
建议改用FLOAT,使用时再用ROUND控制精度。
具体用FLOAT重建一个数据库,然后TRANSFER
 
本人为此吃了很大的苦
 
如果字段是金额,请使用money类型,不会出现问题。
 
改为Float型,用Round控制。
 
format string
 
多人接受答案了。
 

Similar threads

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