以文本方式查看主题

-  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=48509)

--  作者:有点甜
--  发布时间:2014/3/30 22:21:00
--  

 你这个用公式是弄不了的,必须用代码才能完成。

 

 你做一个例子出来,上传上来。


--  作者:lsy
--  发布时间:2014/3/31 7:00:00
--  

楼主的叙述,不好理解,估计是这样:

Case "公式4"
        If e.DataRow("新结算重量") <= 首重重量 Then
            e.DataRow("中转费") = e.DataRow("新结算重量") * 首重价格
        ElseIf e.DataRow("新结算重量") > 首重重量 And e.DataRow("新结算重量") <= 1 Then
             e.DataRow("中转费") = 首重价格+(e.DataRow("新结算重量") + 0.2 -首重重量) * 续重价格
        ElseIf e.DataRow("新结算重量") > 首重重量 And e.DataRow("新结算重量") > 1 Then
             e.DataRow("中转费") = 首重价格+(e.DataRow("新结算重量") + 0.1 -首重重量) * 续重价格
        End If


--  作者:逛逛
--  发布时间:2014/3/31 7:59:00
--  
续重费*( Math.Ceiling((重量-首重)/续重)) + 首重费
--  作者:aaticor
--  发布时间:2014/3/31 11:24:00
--  

我对函数不熟,但我可以给你设置思路:

重量-0.8=超量

取整函数(超量/0.2+0.99)=实际计费超量

看看取整函数是向上取整还是向下取整?即1.01取整后是1,还是2,如果是2,上面就不用加0.99了。

[此贴子已经被作者于2014-3-31 11:25:55编辑过]

--  作者:aaticor
--  发布时间:2014/3/31 11:27:00
--  
刚才看了函数,就是floor,不必加0.99