Foxtable(狐表)用户栏目专家坐堂 → [求助]一个流水账的问题


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

主题:[求助]一个流水账的问题

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


加好友 发短信
等级:婴狐 帖子:17 积分:255 威望:0 精华:0 注册:2015/1/21 21:50:00
[求助]一个流水账的问题  发帖心情 Post By:2015/12/24 14:59:00 [只看该作者]


图片点击可在新窗口打开查看此主题相关图片如下:b9yr1gonv{y1b8l~o6j2_x.png
图片点击可在新窗口打开查看


记流水账,我将DataColChanged事件设为:

Select Case e.DataCol.Name
    Case
"收入","支出"
        For Each dr As DataRow In e.DataTable.Select("[_SortKey] >= " & e.DataRow("_SortKey"))
            Dim
Val1 As Double = e.DataTable.Compute("Sum(收入)","[_SortKey] <= " & dr("_SortKey"))
            Dim
Val2 As Double = e.DataTable.Compute("Sum(支出)","[_SortKey] <= " & dr("_SortKey"))
            dr("余额") = Val1 - Val2

        Next
End
Select


可是上面在支出6608.3的时候余额就不对了,其他都是正确的,请问老师这个怎么破?



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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/12/24 15:05:00 [只看该作者]

你的收入列、支出列、余额列,都用改成高精度小数吧。


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


加好友 发短信
等级:婴狐 帖子:17 积分:255 威望:0 精华:0 注册:2015/1/21 21:50:00
  发帖心情 Post By:2015/12/24 15:09:00 [只看该作者]

谢谢老师,果然可以。但这是为什么呢?


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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/12/24 15:10:00 [只看该作者]

应该是sum合计数据的时候,精度有可能丢失。因为计算机小数都是有精度问题的。

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


加好友 发短信
等级:婴狐 帖子:17 积分:255 威望:0 精华:0 注册:2015/1/21 21:50:00
  发帖心情 Post By:2015/12/24 15:12:00 [只看该作者]

哦,谢谢老师

 回到顶部