Foxtable(狐表)用户栏目专家坐堂 → 使用round2函数后仍然计算错误。


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

主题:使用round2函数后仍然计算错误。

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


加好友 发短信
等级:幼狐 帖子:158 积分:998 威望:0 精华:0 注册:2021/8/17 15:39:00
使用round2函数后仍然计算错误。  发帖心情 Post By:2022/4/11 11:39:00 [只看该作者]


图片点击可在新窗口打开查看此主题相关图片如下:微信图片_20220411113803.png
图片点击可在新窗口打开查看
目前我遇到的问题,使用了四舍五入函数,但是金额变大后,四舍五入还是会有错误。
错误如截图。


这是我写的代码:表事件--->DataColChanged事件
 Case "付款金额"
        If e.NewValue Is Nothing Then
            dr1("税额") = Nothing
            dr1("不含税金额") = Nothing
        Else
            Dim tax As Single = dr1("税率")
            dr1("税额") = round2(e.NewValue * tax ,2)
            dr1("不含税金额") = dr1("付款金额") - dr1("税额")
        End If
End Select



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


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


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

没看出来什么错误?

把代码里几个列的列类型都改为高精度

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


加好友 发短信
等级:幼狐 帖子:158 积分:998 威望:0 精华:0 注册:2021/8/17 15:39:00
  发帖心情 Post By:2022/4/11 11:57:00 [只看该作者]

还是会出现这样的问题,输入1000000没有问题,但是输入大于100万的数字就会算错。
但是大于100万带小数位的不会出错?
图片点击可在新窗口打开查看此主题相关图片如下:微信图片_20220411115555.png
图片点击可在新窗口打开查看

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


加好友 发短信
等级:幼狐 帖子:158 积分:998 威望:0 精华:0 注册:2021/8/17 15:39:00
  发帖心情 Post By:2022/4/11 12:01:00 [只看该作者]

在表事件中把税率的类型改成decimal就行了。

 回到顶部