Z zyhalj Unregistered / Unconfirmed GUEST, unregistred user! 2001-12-14 #1 你以前解答过bcd字段的问题,提到bcd字段只能提供最多4位小数 但请指教如何才能使小数点的位数增大,哪怕是修改汇编代码 我也在所不惜,急,特急,特别急!!!!!!!!!!
B Brave Unregistered / Unconfirmed GUEST, unregistred user! 2001-12-24 #2 db.pas中bcd转化为currency类型的汇编代码,真他妈难懂,但是我觉得,当把数字传到该函数中的 时侯,已经变成currency类型了。currency是从Delphi 2开始引入的数据类型,小数点后是4位 我感觉就象是integer类型等,是封装的,很难改了。 而对于decimal(18,6)这样的数据类型,Delphi在调用bde的API函数时 DbiPutField(FHandle, FieldNo, RecBuf, Buffer) 中间处理就有错误了,可能是把数据截断了,而不是四舍五入,所以不对了。这个函数没有源代码,:( 考虑还是换其他的数据类型,double型可以保留15位有效数字,范围比decimal大多了, 好像没有截断的问题,试一试了。
db.pas中bcd转化为currency类型的汇编代码,真他妈难懂,但是我觉得,当把数字传到该函数中的 时侯,已经变成currency类型了。currency是从Delphi 2开始引入的数据类型,小数点后是4位 我感觉就象是integer类型等,是封装的,很难改了。 而对于decimal(18,6)这样的数据类型,Delphi在调用bde的API函数时 DbiPutField(FHandle, FieldNo, RecBuf, Buffer) 中间处理就有错误了,可能是把数据截断了,而不是四舍五入,所以不对了。这个函数没有源代码,:( 考虑还是换其他的数据类型,double型可以保留15位有效数字,范围比decimal大多了, 好像没有截断的问题,试一试了。