以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  如何求表中一个整数字段的数据的平均值,让该平均值保留两位小数  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=144914)

--  作者:sjx71
--  发布时间:2020/1/2 17:35:00
--  如何求表中一个整数字段的数据的平均值,让该平均值保留两位小数
如何求表中一个整数字段的数据的平均值,让该平均值保留两位小数

如 datatables(“表A”).compute("sum(年龄)")
 求出的年龄的平均值也是一个整数
怎么才能让平均数保留两位小数而不是“34.00”的格式,如34.25

谢谢老师


--  作者:有点蓝
--  发布时间:2020/1/2 17:41:00
--  
datatables(“表A”).compute("Avg(年龄)"):http://www.foxtable.com/webhelp/topics/0099.htm


--  作者:sjx71
--  发布时间:2020/1/3 8:08:00
--  
蓝老师,你好

如果年龄字段为整数字段,datatables(“表A”).compute("Avg(年龄)") 得出的值也是整数值,

我想让它变成小数,而不是让它加一个小数点,后边写两个零,该怎么写

--  作者:有点蓝
--  发布时间:2020/1/3 8:24:00
--  
Dim d As Double = DataTables("订单").SQLCompute("Avg(数量)") 
Output.Show(d)

Output.Show(Round2(d,2))

--  作者:sjx71
--  发布时间:2020/1/3 8:37:00
--  
出现了运行错误


图片点击可在新窗口打开查看此主题相关图片如下:无标题.jpg
图片点击可在新窗口打开查看


--  作者:有点蓝
--  发布时间:2020/1/3 8:50:00
--  
写了什么代码?
--  作者:sjx71
--  发布时间:2020/1/3 8:54:00
--  
直接在命令窗口中运行就出现了这个情况,只是改了表名称和列名称
[此贴子已经被作者于2020/1/3 8:54:33编辑过]

--  作者:有点蓝
--  发布时间:2020/1/3 9:20:00
--  
写了什么代码?
--  作者:sjx71
--  发布时间:2020/1/4 8:52:00
--  
蓝老师,我有一个外部数据源的数据表,名字叫做天然气用气量,其中有一个数据列,字段名称叫总用气量,字段类型为整数

我在执行窗口中写以下代码

Dim d As Double = DataTables("天然气用气量").SQLCompute("Avg(总用气量)") 
Output.Show(d)
Output.Show(Round2(d,2))

d  = DataTables("天然气用气量").Compute("Avg(总用气量)") 
Output.Show(d)
Output.Show(Round2(d,2))

执行之后,先显示运行错误,然后显示两次0,最后显示两次整数1110295

另外我新建一个程序,内部数据源的数据表,执行以上操作,直接显示
9367.81818181818
9367.82
9367
9367
应该算正常的了,我再找找程序看有没有别的问题,

谢谢蓝老师

--  作者:有点蓝
--  发布时间:2020/1/4 9:10:00
--  
不应该有问题才对,这个总用气量在数据库里是计算字段?

SqlServer数据库如果还是不能出现小数,也可以这样
Dim d As Double = DataTables("订单").SQLCompute("Avg(数量*1.0)") 
Output.Show(d)
Output.Show(Round2(d,2))