以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]数据统计中的求和有偏差,求解~  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=77421)

--  作者:jwt
--  发布时间:2015/11/18 9:40:00
--  [求助]数据统计中的求和有偏差,求解~
代码如下:
Dim Sum4 As Double = Tables("题库").Compute("Sum(得分)") \'计算总分
Dim sum3 As Double = Tables("题库").Compute("sum(得分)", "得分 = 0.15") \'计算诚信分
Dim sum2 As Double = Tables("题库").Compute("sum(得分)", "得分 =1") \'计算正确分
Dim sum1 As Integer= Tables("题库").Compute("Count([选择])", "选择 is not null") \'计算答题数
Dim dts As WinForm.textbox = e.Form.Controls("TextBox1")
Dim zqf As WinForm.textbox = e.Form.Controls("TextBox2")
Dim cxf As WinForm.textbox = e.Form.Controls("TextBox3")
Dim zf As WinForm.textbox = e.Form.Controls("TextBox4")
dts.value = sum1
zqf.value = sum2
cxf.value = sum3
zf.value = sum4

诚信分,算出来是1.6499999999999997,应该是1.65才对
而总分就没有错误12.65,
郁闷呐~~~~求解,

补充,【得分】列数据类型 是双精度小数

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



[此贴子已经被作者于2015/11/18 9:58:22编辑过]

--  作者:jwt
--  发布时间:2015/11/18 10:04:00
--  
自己顶一下,不然沉了
--  作者:jwt
--  发布时间:2015/11/18 10:25:00
--  
不知是否是bug,暂时用四舍五入代替吧,
代码:.value = math.round(sum3,2)

--  作者:大红袍
--  发布时间:2015/11/18 10:29:00
--  
回复3楼,会有精度偏差的,四舍五入就好。