以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 为什么会相差几分钱? (http://foxtable.net/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 条件
|