Foxtable(狐表)用户栏目专家坐堂 → 如何求表中一个整数字段的数据的平均值,让该平均值保留两位小数


  共有3882人关注过本帖树形打印复制链接

主题:如何求表中一个整数字段的数据的平均值,让该平均值保留两位小数

帅哥哟,离线,有人找我吗?
sjx71
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:476 积分:4602 威望:0 精华:0 注册:2013/5/22 15:32:00
如何求表中一个整数字段的数据的平均值,让该平均值保留两位小数  发帖心情 Post By:2020/1/2 17:35:00 [只看该作者]

如何求表中一个整数字段的数据的平均值,让该平均值保留两位小数

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

谢谢老师


 回到顶部
帅哥,在线噢!
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110574 积分:562760 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/1/2 17:41:00 [只看该作者]


 回到顶部
帅哥哟,离线,有人找我吗?
sjx71
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:476 积分:4602 威望:0 精华:0 注册:2013/5/22 15:32:00
  发帖心情 Post By:2020/1/3 8:08:00 [只看该作者]

蓝老师,你好

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

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

 回到顶部
帅哥,在线噢!
有点蓝
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110574 积分:562760 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/1/3 8:24:00 [只看该作者]

Dim d As Double = DataTables("订单").SQLCompute("Avg(数量)") 
Output.Show(d)

Output.Show(Round2(d,2))

 回到顶部
帅哥哟,离线,有人找我吗?
sjx71
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:476 积分:4602 威望:0 精华:0 注册:2013/5/22 15:32:00
  发帖心情 Post By:2020/1/3 8:37:00 [只看该作者]

出现了运行错误


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


 回到顶部
帅哥,在线噢!
有点蓝
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110574 积分:562760 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/1/3 8:50:00 [只看该作者]

写了什么代码?

 回到顶部
帅哥哟,离线,有人找我吗?
sjx71
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:476 积分:4602 威望:0 精华:0 注册:2013/5/22 15:32:00
  发帖心情 Post By:2020/1/3 8:54:00 [只看该作者]

直接在命令窗口中运行就出现了这个情况,只是改了表名称和列名称
[此贴子已经被作者于2020/1/3 8:54:33编辑过]

 回到顶部
帅哥,在线噢!
有点蓝
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110574 积分:562760 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/1/3 9:20:00 [只看该作者]

写了什么代码?

 回到顶部
帅哥哟,离线,有人找我吗?
sjx71
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:476 积分:4602 威望:0 精华:0 注册:2013/5/22 15:32:00
  发帖心情 Post By: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
应该算正常的了,我再找找程序看有没有别的问题,

谢谢蓝老师

 回到顶部
帅哥,在线噢!
有点蓝
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110574 积分:562760 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/1/4 9:10:00 [只看该作者]

不应该有问题才对,这个总用气量在数据库里是计算字段?

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

 回到顶部
总数 11 1 2 下一页