请教sql查询平均值后,如何只取平均值小数点后2位(100分)

  • 主题发起人 主题发起人 linux99
  • 开始时间 开始时间
L

linux99

Unregistered / Unconfirmed
GUEST, unregistred user!
界面上有组件query1,dbtext1
设query1的静态SQL为:
select avg(Fage) from people;
Active query1,然后设置dbtext1的datafield为avg(Fage)
这时计算出Fage的平均值,但小数点后一直取到13位,实在太长了
应该如何设置才能让dbtext1的值只取小数点后2位,这里先谢过了!
 
displayformat:#0,.00就可以實現。
 
formatfloat('0.00',strtofloat(dbedit1.text));
 
对不起楼上两位,我比较笨没看懂:(
可能我没把问题说清楚
当我active query1时,界面上的dbtext1随之显示出数值来,如36.66666666666666667,
要在哪儿设置,是在sql语句里,还是在dbtext1的属性设置里,才能让上面的值变成36.67
谢谢
 
写入数据库的时候就保存到小数点后第二位就好了
列:=formatfloat('0.00',strtofloat(edit1.text));
 
列:= Format('%5.2f', [dbtext1 ])
 
已经都回答了。同意!
:)
 
楼上,楼主的意思不是从数据库里面读出来而是写进去吗?

如果读出来:
sql语句: select round(avg(Fage),2) from people 这样可以吧?
 
三楼的简单得不能再简单了呀
 
呵呵,非常感谢,已经完美解决了
方法一:
with query1 do
begin
close;
sql.clear;
sql.add('select avg(Fage) from demo');
sql.prepared;
sql.open;
dbtext1.caption:=formatfloat('0.00',strtofloat(dbtext1.caption));
end;

方法二:就是用skylineme兄的方法,直接写到sql语句里。
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
D
回复
0
查看
2K
DelphiTeacher的专栏
D
D
回复
0
查看
2K
DelphiTeacher的专栏
D
后退
顶部