以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  求高手解答  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=76712)

--  作者:zbsdkq012890
--  发布时间:2015/11/3 21:09:00
--  求高手解答
金额列A,每月返还A*10%,返还每累计到10000和本金A一起返还10%。
举例说明:假如A=10000,则每月返还10%是1000,那么十个月返还10000,第十一个月则本金加10000变为每月返2000,到第十五个月时又返10000,则第十六个月本金加20000返10%,每月返3000,以此类推。
[此贴子已经被作者于2015/11/3 21:10:06编辑过]

--  作者:大红袍
--  发布时间:2015/11/3 21:20:00
--  

参考代码

 

Dim A As Double = 10000
Dim fh As Double = 0
Dim sum As Double = 0
For i As Integer = 0 To 20
    If sum Mod 10000 = 0 Then
        fh = (A + sum) * 0.1
    End If
    sum += fh
    output.show(i+1 & " 返还 " & sum)
Next


--  作者:zbsdkq012890
--  发布时间:2015/11/3 21:57:00
--  
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:基金.rar
上传了例子,帮忙把“累计返券”列实现自动根据月份生成每月10%的返还,累计到10000后再返10%。谢谢。

--  作者:大红袍
--  发布时间:2015/11/3 22:04:00
--  
Select Case e.DataCol.name
    Case "交款日期"
        If e.DataRow.IsNull("交款日期") Then
            e.DataRow("年") = Nothing
            e.DataRow("月") = Nothing
        Else
            Dim y,m,d As Integer
            DateYMD(e.DataRow("交款日期"),Date.Today,y,m,d)
            e.DataRow("年") = y
            e.DataRow("月") = m
           
            Dim A As Double = e.DataRow("交款金额")
            Dim fh As Double = 0
            Dim sum As Double = 0
            For i As Integer = 0 To y*12+m-1
                If sum Mod 10000 = 0 Then
                    fh = (A + sum) * 0.1
                End If
                sum += fh
            Next
            e.DataRow("累计返券") = sum
        End If
End Select

--  作者:zbsdkq012890
--  发布时间:2015/11/3 22:47:00
--  
非常感谢,佩服兄台!
--  作者:zbsdkq012890
--  发布时间:2015/11/3 22:47:00
--  
非常感谢,佩服兄台!