为什么Delphi会自动截断小数点位数!?help me !!! 看看delphi关于这一点的帮助系统,查询关于TFloatValue 类型,以及FloatToDecimal的过程,相信你会找到答案 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 float本来就4位呀,你用.Value式式 .value试了,adodataset.fieldbyname(fieldname).asstring:=floatststr(p);也试了 float字段有个关于精度的属性,你看看是不是设置了另外属性是不是设置了还有就是在win2000的什么区域设置里有关于小数点精度设置的 从问题的现象分析,应该不是数据库创建的问题,而是Delphi处理的问题,建议你用一下double类型,另外多了解一下Delphi的类型,非常严谨的!我以前做了一次试验:声明了一个int64类型a,另外声明了三个Integer变量阿b,c,d并分别赋值,结果我用a:=b*c*d;得出的不是正确的运算结果,而我用三个实际数想乘,结果却是正确的,最后我将三个变量都声明成int64,结果对了!感觉delphi内部运算还是莫名其妙!希望我这点体会能给你帮助! 把如下:P:=18.3760684;adodataset.fieldbyname(fieldname).asfloat:=p;adodataset.post;变成:P:=18.3760684;adodataset.fieldbyname(fieldname).AsString:=FloatToStr(p);adodataset.post; 因为在声明时 你声明 的P有DOUBLE 而在adodataset.fieldbyname(fieldname).asfloat:=p中使用的是FLOAT所以数据小数点的位置会发生变化 转成字符存进去是一个效果(会自动截断)后经高手指点在adodataset的beforeopen中写一句adorsMain.EnableBCD:=false就搞定了! access表中的count和sum查询问题,帮帮我啊! 如何解决软件关闭之后打开上次的状态? 怎样将数据导出为.xls格式,而不是.xlsx格式?急!! sql 语句中可以有变量吗??? 如何修改delphi的启动画面 请问怎么做这样的程序啊 用SPCOMM通讯,但11和13收不到怎么办,我需要0到255之间的所有数 什么叫文件流? 我想汉化 installshield 6.22 ,请提供下载地址? 哪里有李维的书下载! 数据库查询问题,请各位帮忙!!! 那里有自动生成insert sql的工具
adodataset.fieldbyname(fieldname).asstring:=floatststr(p);
也试了
P:=18.3760684;
adodataset.fieldbyname(fieldname).asfloat:=p;
adodataset.post;
变成:
P:=18.3760684;
adodataset.fieldbyname(fieldname).AsString:=FloatToStr(p);
adodataset.post;
adodataset.fieldbyname(fieldname).asfloat:=p中
使用的是FLOAT
所以数据小数点的位置会发生变化
在adodataset的beforeopen中写一句
adorsMain.EnableBCD:=false
就搞定了!