B
bsense
Unregistered / Unconfirmed
GUEST, unregistred user!
环境:windowsxp,mssql2000,delphi7
创建一个表 test ,两个字段 f1 float,f2 numeric(18,6)
两个字段真实数据
64.9676412219335 float 类型
64.967652 numeric(18,6)
delphi7用ado连接,adotable 打开,dbgrid表格里面数据
已经变化
64.9676412219335
64.9677
再分别使用currency,single,double 类型变量,用ascurrency,asdouble 读数据如下
Delphi的数据
========================
64.96760000000000 currency类型
64.96764373779297 single
64.96764122193346 double
================================
64.96770000000000 currency
64.96769714355469 single
64.96769999999999 double
用AsVariant 类型 可以获得 正确值
推测dbgrid是用 AsVariant ,再转换string ,能正常显示float数据,但仍然不能显示numeric类型
暂时下结论,使用delphi开发mssql的float,numeric 类型数据,是没有绝对精确的数据类型与之匹配的.欢迎砖头.
创建一个表 test ,两个字段 f1 float,f2 numeric(18,6)
两个字段真实数据
64.9676412219335 float 类型
64.967652 numeric(18,6)
delphi7用ado连接,adotable 打开,dbgrid表格里面数据
已经变化
64.9676412219335
64.9677
再分别使用currency,single,double 类型变量,用ascurrency,asdouble 读数据如下
Delphi的数据
========================
64.96760000000000 currency类型
64.96764373779297 single
64.96764122193346 double
================================
64.96770000000000 currency
64.96769714355469 single
64.96769999999999 double
用AsVariant 类型 可以获得 正确值
推测dbgrid是用 AsVariant ,再转换string ,能正常显示float数据,但仍然不能显示numeric类型
暂时下结论,使用delphi开发mssql的float,numeric 类型数据,是没有绝对精确的数据类型与之匹配的.欢迎砖头.