以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  [求助]关于自动累加的问题  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=53554)

--  作者:975751585
--  发布时间:2014/7/10 14:47:00
--  [求助]关于自动累加的问题
表中有“ 客户  、产品 、数量 、单价 、合计 、 是否已交费” 列
        
要实现统计未交费的同一客户、同一产品的数量累加,得到累加值后再*单价,得出结果。如何实现?

原因如下:目前统计未交费的同一客户同一类型产品得出的"累加合计“,与数量累加值*单价得出的结果,经常差1分钱!

例: 客户      产品         数量          单价          合计      是否已交费
   
   中国二建    钻头         231         3.795     876.65          否
  
   中国二建    钻头           85         3.795     322.58          否

   中国二建    钻头             1         3.795        3.8            否
   
系统合计:1203.03元                  数量累计为317        当用计算器时,得出结果1203.02        (单价带有厘,舍入到分)
求解决办法

--  作者:有点甜
--  发布时间:2014/7/10 14:51:00
--  

 有可能是精度的问题,你试试用高精度小数列。

 

 如果还有问题,你做个例子发上来。

 

 


--  作者:975751585
--  发布时间:2014/7/10 15:30:00
--  
这个绝对不是精度问题,  231+85+1=317        
                   231*3.795=876.65              
                     85*3.795=322.58
                       1*3.795=3.8          
                               合计1203.03            
           但是   317*3.795=1203.02  


           我已经试过了,和精度没关系,这就是多次舍入造成的偏差.......有解决方案不?

--  作者:有点甜
--  发布时间:2014/7/10 15:34:00
--  

 合计的时候,合计列,请使用高精度小数去存数据,而且不要舍和入。

 

 实在不行的话,合计的时候,就各行重新计算一次,这样不可能有偏差的。

 

 如果还有编程,请上传例子说明。