关于数值显示异常,请指教!(200分)

  • 主题发起人 kele6666
  • 开始时间
K

kele6666

Unregistered / Unconfirmed
GUEST, unregistred user!
用query下sql,取得字段现金和信用卡的值分别为1142和1974,然后用一个double类型的变量pam累加这两个值,理论上变量的值应该为3116,但事实上在ListBox中显示FloatToStrF(pam, ffNumber, 12, 2)的结果为8.29030783947E269。而且这个问题是出现在客户那里,我在本地测试完全正确。这难道和硬件有关系?
 
用formatFloat(',0.00',value)如何?保留两位小数,且包含千分位符
 
函数原型
function FloatToStrF(Value: Extended;
Format: TFloatFormat;
Precision, Digits: Integer): string;
在执行前先把pam输出看看是不是正确,我在我的机子上执行
FloatToStrF(3116, ffNumber, 12, 2)得结果是3,116.00
 
学习一下
 
to skyccf:我在本机测试也是安全正确的。但是没办法在客户那边测试呀,客户那边没有开发环境。而且我也只是连线过去看到这样的情况的,客户有很多家,这只是个别现象。
 
有没有可能是客户那边控制面板-》区域设置的问题,8.29030783947E269貌似科学计数法?
 
to wyjch78:区域设置的地方我也考虑过,客户和我这里对数字的设置是一致的。这个数值好像超大,10的269次方,感觉是溢出了?
 
学习中。。。
 
那你用客户的数值试过了吗?数值在你本机上面不溢出的话在客户那边应该没有道理溢出的啊!?直接试试showmessage(FloatToStrF(1142+1974, ffNumber, 12, 2))看在客户那边对不对!
 
顶部