Foxtable(狐表)用户栏目专家坐堂 → 小数位数无限循环


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

主题:小数位数无限循环

美女呀,离线,留言给我吧!
nuoyan89
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:434 积分:3011 威望:0 精华:0 注册:2020/10/9 8:45:00
小数位数无限循环  发帖心情 Post By:2023/2/28 8:55:00 [只看该作者]

老师,如图1,1、紫色圈起来的是狐表系统自己核算的,该列是高精度小数;2、红色圈起来的是EXCEL电子表格手动核算的,是无限小数位数。我想让系统中计算时小数位数像电子表格那样是无限循环,因为不无限循环的话,汇总之后总数有误差,怎么设置呢,请帮忙看看,谢谢

图片点击可在新窗口打开查看此主题相关图片如下:1.jpg
图片点击可在新窗口打开查看
[此贴子已经被作者于2023/2/28 8:56:48编辑过]

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


加好友 发短信
等级:超级版主 帖子:107034 积分:544401 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2023/2/28 9:04:00 [只看该作者]

不可能是无限的。计算机存储的数值都是有限的,高精度总长度只能有28位,小数位数默认占16位:http://www.foxtable.com/webhelp/topics/0029.htm

到列属性把最大小数位数改为16:http://www.foxtable.com/webhelp/topics/0050.htm

 回到顶部
美女呀,离线,留言给我吧!
nuoyan89
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:434 积分:3011 威望:0 精华:0 注册:2020/10/9 8:45:00
  发帖心情 Post By:2023/2/28 9:26:00 [只看该作者]

列属性我改成了16位如图1,但是计算的结果还是保留了4位,其他的全部显示了0来占有位了如图2。

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

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


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


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

之前存储到数据库的值就已经是这样的了。重新计算一遍再给这个列赋值

 回到顶部
美女呀,离线,留言给我吧!
nuoyan89
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:434 积分:3011 威望:0 精华:0 注册:2020/10/9 8:45:00
  发帖心情 Post By:2023/2/28 9:42:00 [只看该作者]

数据库后台的值如图3,我重新删除输入值后结果还是没有变动如图4,表事件代码如下:
Select Case e.DataCol.Name
    Case "公司社保", "工时"
        If e.DataRow("公司社保") = Nothing OrElse e.DataRow("工时") = Nothing Then
            e.DataRow("社保基数") = 0
        Else
            e.DataRow("社保基数") = e.DataRow("公司社保") / e.DataRow("工时")
            If e.NewValue = Nothing Then
                e.DataRow("社保基数") = 0
            End If
        End If
End Select

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


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


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


加好友 发短信
等级:超级版主 帖子:107034 积分:544401 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2023/2/28 9:54:00 [只看该作者]

dim a as Decimal =  e.DataRow("公司社保") / e.DataRow("工时")
msgbox(a)
e.DataRow("社保基数") =a

 回到顶部
美女呀,离线,留言给我吧!
nuoyan89
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:434 积分:3011 威望:0 精华:0 注册:2020/10/9 8:45:00
  发帖心情 Post By:2023/2/28 10:00:00 [只看该作者]

重新计算值的位数显示无异常如图1,但是赋到单元格中时就剩下4位了,如图2

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

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


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


加好友 发短信
等级:超级版主 帖子:107034 积分:544401 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2023/2/28 10:04:00 [只看该作者]

sqltable?设置一下列属性:http://www.foxtable.com/webhelp/topics/2046.htm

 回到顶部