以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  为什么会相差几分钱?  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=96222)

--  作者:ap9709130
--  发布时间:2017/2/15 16:16:00
--  为什么会相差几分钱?
我在设计会计的增值税合计系统,发现了一个问题:

在销售表里,购进票面金额的 算法是:产品数量 * 产品购进票价  然后 四舍五入 得到金额。

我把相关的表导出来,然后加公式:r("金额") = round2(r(“产品数量”)*r(“产品购进票价”),2)   然后再合计就得到了。

但是我用SQL后台统一时,代码是这样:S e lect Sum(r(“产品数量”)*r(“产品购进票价”)) from {} where 条件

这两个结果每次都会相差几分钱,有时候是 2 分,有时候是4 分,为什么会这样,SQL 要怎么写 才能得到和导出表一样的结果?

为什么同样的方法,计算销售总额就不会有误差?真是奇怪!

--  作者:有点色
--  发布时间:2017/2/15 16:34:00
--  

 每一次四舍五入和合计后四舍五入,肯定有误差的。

 

Select Sum(Round(产品数量*产品购进票价,2)) from {} where 条件